UserControl の隅に TextBlock がある場合、Text プロパティを AssemblyInfo.cs にあるアセンブリ バージョン番号にバインドできますか
WPF:
<TextBlock Text="{Binding AssemblyVersion}"/>
AssemblyInfo.cs
[assembly: AssemblyVersion("1.0.0.0")]
UserControl の隅に TextBlock がある場合、Text プロパティを AssemblyInfo.cs にあるアセンブリ バージョン番号にバインドできますか
WPF:
<TextBlock Text="{Binding AssemblyVersion}"/>
AssemblyInfo.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 は、メソッド呼び出しから結果を取得するのに非常に役立ちます。