リソースから文字列を設定する方法を知っています<TextBlock x:Uid="Text1"/>
どこ Text1.Text
は「こんにちは」です
でもこうしたい
<TextBlock Text = {something here to get GreetingText}/>
ここで、GreetingText
は「こんにちは」です。
コードから同じ文字列を取得できるように
var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
var string = loader.GetString("GreetingText");
Nikhilの答えは正しい方向に進んでいますが、他のプラットフォームにも当てはまります。
Windows 8の場合、リソースディレクトリで次のことを行う必要があります。
<x:String x:Key="MyString">This is a resource</x:String>
Xamlの場合:
<TextBlock Text="{StaticResource MyString}"/>
コード内:
string myString = (string)(App.Current.Resources["MyString"]);
これを含める
xmlns:system="clr-namespace:System;Assembly=mscorlib"
このようなsystem:string
のリソースがあります。
<Window.Resources>
<system:String x:Key="GreetingText">Hello</system:String>
</Window.Resources>
xamlで次のように使用します
<TextBlock Text="{StaticResource GreetingText}" />
コードビハインドで使用します
string s = (string)objectofMainWindow.Resources["GreetingText"];
編集:あなたのコメントに答える
そのように。リソース辞書はWindow.Resources
内にあります
<Window
xmlns:system="clr-namespace:System;Assembly=mscorlib"
Your Rest namespaces
/>
<Window.Resources>
<ResourceDictionary xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
xmlns:local="using:ATTFamilyMap.strings">
<system:String x:Key="GreetingText">Hello</system:String>
</ResourceDictionary>
</Window.Resources>
Your Code
</Window>