从cs获取变量并在xaml(uwp)中使用它

时间:2016-01-25 13:31:29

标签: c# xaml win-universal-app uwp

如何在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}"/>

1 个答案:

答案 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.
}