你提到也UWP作品的解決方案New Method
。建議在設計時使用Data Binding。
以下班級的工作方式類似.resw文件reader
。如果您發送密鑰參數,它將返回密鑰的值。
public class LocalizedStrings
{
public string this[string key]
{
get
{
return ResourceLoader.GetForViewIndependentUse().GetString(key);
}
}
}
使用綁定之前,您需要實例化reader
在App.xaml文件。
<Application.Resources>
<ResourceDictionary>
<local:LocalizedStrings x:Key="Localized"/>
</ResourceDictionary>
</Application.Resources>
Resources.resw
<data name="Title" xml:space="preserve">
<value>ResTitleTest</value>
</data>
使用
<TextBlock Text="{Binding Source={StaticResource Localized}, Path=[Title]}" />
注意:只有建立後,Textblock
內容將顯示在那裏的設計師。
這對我來說已經奏效了,謝謝!我應該使用'Binding'方法還是'x:Uid'?我寧願不使用兩者都沒有指定所有的東西兩次(因爲這似乎是一個很好的錯誤來源)。另外,我已經看到,在運行時''ResourceLoader'仍然是從'Binding'中調用的,即使'Text'屬性之後被'x:Uid'機制覆蓋。 –
如果您想在設計時使用資源字符串,最好使用上面的'Binding'方法。 –
對我而言,顯示的是「項目」而不是實際值。這比根本沒有顯示的文本要好,但是因爲intelliSense不能幫助路徑屬性,所以錯字很容易發生,我希望在designTime看到。有沒有解決方案? – Hannes