3

如果我的 UserControl 的角落有一个 TextBlock,是否可以将 Text 属性绑定到 AssemblyInfo.cs 中的程序集版本号

WPF:

<TextBlock Text="{Binding AssemblyVersion}"/>

装配信息.cs

[assembly: AssemblyVersion("1.0.0.0")]
4

2 回答 2

7

创建一个名为的只读属性AssemblyVersion并绑定它。

public Version AssemblyVersion
{
    get
    {
        return Assembly.GetEntryAssembly().GetName().Version;
    }
}
于 2014-08-15T11:58:26.093 回答
4

这是一个纯粹的 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 对于从方法调用中检索结果非常有用。

于 2014-08-15T11:59:20.657 回答