您可以將數據綁定到靜態屬性,包括應用程序設置,直接在XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:l="clr-namespace:WpfApplication1"
xmlns:p="clr-namespace:WpfApplication1.Properties"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel>
<TextBlock Text="{Binding Source={x:Static l:MainWindow.AssemblyTitle}}"/>
<TextBlock Text="{Binding Source={x:Static p:Settings.Default}, Path=VersionNumber}"/>
</StackPanel>
</Grid>
</Window>
...其中WpfApplication1
是你的命名空間,VersionNumber
是在應用程序設置中定義的字符串。
要獲得大會冠軍,我們需要一些代碼隱藏在MainWindow
類:
public static string AssemblyTitle
{
get
{
return Assembly.GetExecutingAssembly()
.GetCustomAttributes(typeof(AssemblyTitleAttribute), false)
.Cast<AssemblyTitleAttribute>()
.Select(a => a.Title)
.FirstOrDefault();
}
}
附:您不能將相同的名稱分配給兩個元素。
太好了,非常感謝...有關如何顯示應用程序名稱(未保存在設置中)的任何想法,就像在您的示例中一樣簡單? – lebhero
您的意思是'[assembly:AssemblyTitle]'屬性中給出的值? – Douglas
完全是這個值 – lebhero