如何绑定TextBox的标头?

时间:2014-12-03 09:16:39

标签: c# xaml windows-phone-8.1

在Windows Phone 8.1中,我可以将文本框中的文本绑定到我的Resources.resw中的字符串资源。

如何为Header =" My Header"做同样的事情。标记

即。将Header文本绑定到Resources.resw

中的另一个字符串资源
<TextBox Header="My Header" Text="{Binding textboxtext}" x:Name="TextBox"/>

1 个答案:

答案 0 :(得分:2)

绑定文本字段的方式相同。

<TextBox Header="{Binding myBinding}" Text="{Binding textboxtext}" x:Name="TextBox"/>

如果您想将其指向资源,那么

<Page.Resources>
    <x:String x:Key="myTextBoxHeader">this is a textbox header</x:String>
</Page.Resources>

<TextBox Text="{Binding textboxtest}"
    Header="{StaticResource myTextBoxHeader}"></TextBox>

enter image description here

如果您指向 .resw文件,那么在大多数情况下,您需要x:Uid这样的

<TextBox x:Uid="MyLocalizeTextBox"></TextBox>

然后你需要编辑你想要显示的东西的字符串,在这种情况下你的标题+文字

enter image description here

仔细查看突出显示的部分,您会看到模式?它不会显示在设计器上,并在部署时显示[见下图]

enter image description here


所以到现在为止你可能想知道你是否结合了两种方法? (一个在设计器中显示,一个在部署时显示,因为您正在本地化)。这实际上是首选方法。

2合1(两种方法)

<TextBox x:Uid="MyLocalizeTextBox"
    Text="{Binding textboxtest}" Header="{StaticResource myBinding}"></TextBox>

在设计期间,它将使用您的本地资源,部署时将使用resw文件中的资源。