web-dev-qa-db-ja.com

リソース文字列をXAMLに設定します

リソースから文字列を設定する方法を知っています
<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");
11

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"]);
11
Shahar Prish

これを含める

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>
12
Nikhil Agrawal