You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF中TextBlock绑定程序集版本号不生效问题咨询

问题原因
  • 无需额外引用第三方DLL:你用到的Assembly类属于.NET 基础类库的System.Reflection命名空间,WPF项目默认已引用对应程序集,仅需确保后台代码头部添加using System.Reflection;即可避免编译报错。
  • 绑定未找到目标属性:WPF的{Binding}默认从当前元素的DataContext属性中查找绑定路径对应的属性,你的Ver属性定义在MainWindow类中,但既没有显式指定绑定源,也没有给窗口设置DataContext,因此绑定失效无法展示内容。
修复方案

你可以任选以下任意一种方法修复:

方案1:XAML侧指定绑定源

直接修改TextBlock的绑定表达式,指定查找当前窗口的属性即可:

<TextBlock Text="{Binding Path=Ver, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"/>

方案2:后台设置DataContext

在MainWindow的构造函数中设置DataContext为窗口实例本身,子元素的默认绑定源就会指向窗口:

public MainWindow()
{
    InitializeComponent();
    DataContext = this;
}
可选优化

如果需要自定义版本号的展示格式,比如仅显示主版本、次版本、修订号三位,可以修改Ver属性的实现:

// 输出格式示例:1.0.1
public string Ver => Assembly.GetExecutingAssembly().GetName().Version.ToString(3);

内容的提问来源于stack exchange,提问作者kaknoze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 23:24:05