如何在XAML文件中使用C#字符串的值?
这是我的代码部分: CS文件:
public sealed partial class SomePage : Page
{
public SomePage ()
{
AppVersion = "some text" + XDocument.Load ("WMAppManifest.xml").Root.Element ("App").Attribute ("Version").Value.ToString();
this.InitializeComponent ();
}
public string AppVersion{get; set;}
XAML文件:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
EntranceNavigationTransitionInfo.IsTargetElement="True">
<StackPanel>
<TextBlock x:Name="VersionTextBlock" Text="{Binding ElementName=VersionTextBlock, FallbackValue= AppVersion}"/>
答案 0 :(得分:1)
您的绑定引用TextBlock
,而AppVersion
不是Appversion
。由于Page
是<TextBlock Text="{x:Bind AppVersion}"/>
上的属性,因此您可以使用编译时绑定,如下所示:
DataContext
另一方面,动态绑定相对于Page
的{{1}},这意味着如果你想这样做:
<TextBlock Text="{Binding AppVersion}"/>
...您必须将Page
s DataContext
设置为某个具有名为AppVersion
的属性的对象,例如,
public SomePage ()
{
AppVersion = "some text" + ...;
InitializeComponent ();
DataContext = this; // More common is to have a separate viewmodel class, though.
}