如果我的 UserControl 的角落有一个 TextBlock,是否可以将 Text 属性绑定到 AssemblyInfo.cs 中的程序集版本号
WPF:
<TextBlock Text="{Binding AssemblyVersion}"/>
装配信息.cs
[assembly: AssemblyVersion("1.0.0.0")]
如果我的 UserControl 的角落有一个 TextBlock,是否可以将 Text 属性绑定到 AssemblyInfo.cs 中的程序集版本号
WPF:
<TextBlock Text="{Binding AssemblyVersion}"/>
装配信息.cs
[assembly: AssemblyVersion("1.0.0.0")]
创建一个名为的只读属性AssemblyVersion
并绑定它。
public Version AssemblyVersion
{
get
{
return Assembly.GetEntryAssembly().GetName().Version;
}
}
这是一个纯粹的 XAML 方法
<TextBlock xmlns:ref="clr-namespace:System.Reflection;assembly=mscorlib">
<TextBlock.Text>
<Binding Path="Version">
<Binding.Source>
<ObjectDataProvider MethodName="GetName">
<ObjectDataProvider.ObjectInstance>
<ObjectDataProvider MethodName="GetExecutingAssembly"
ObjectType="{x:Type ref:Assembly}" />
</ObjectDataProvider.ObjectInstance>
</ObjectDataProvider>
</Binding.Source>
</Binding>
</TextBlock.Text>
</TextBlock>
在此示例中,我们利用ObjectDataProvider
检索所需(正在执行或可以说是当前)程序集,然后是它的版本。
ObjectDataProvider 对于从方法调用中检索结果非常有用。