2014-12-03 80 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