2014-12-03 77 views
3

在windows phone 8.1中,我可以将文本框中的文本绑定到Resources.resw中的字符串资源。如何绑定文本框的标题?

如何为Header =“My Header”标签做同样的事情?

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

回答

2

绑定文本字段相同的方式结合在Resources.resw的标题文字到另一个字符串资源。

<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> 

在设计时将使用本地resouces,当部署将在resw文件中使用的资源。

+0

如果我使用第二行,它说资源无法解析。我尝试了与textblock完全相同的格式。文本块可以显示字符串,而文本框标题不能显示字符串。在这个头字符串的Resources.resw文件中是否有特殊的扩展名? – user776914 2014-12-03 09:52:16

+0

@ user776914为什么你有一个Resources.resw文件?你是本地化您的应用程序?如果没有,那为什么TextBox没有'x:Uid'? – 2014-12-03 11:54:26

+0

@ user776914查看更新的解决方案。这是有些先进的东西..我感觉你刚从一个默认的模板创建一个项目,这是非常混乱的,我会建议不使用任何数据绑定模板,直到你有很多的环境经验。 – 2014-12-03 12:10:59