2012-10-15 14 views
9

wiem jak ustawić ciąg z zasobu
<TextBlock x:Uid="Text1"/> gdzie Text1.Text jest "Hello"Set ciąg zasobów do XAML

Ale chcę zrobić jak ten

<TextBlock Text = {something here to get GreetingText}/> 

gdzie GreetingText jest "Hello"

Aby uzyskać ten sam ciąg znaków z kodu również jako

var loader = new Windows.ApplicationModel.Resources.ResourceLoader(); 
var string = loader.GetString("GreetingText"); 

Odpowiedz

10

odpowiedź Nikhil jest na dobrej drodze, ale jest dla innych platform.

dla Windows 8, należy wykonać następujące czynności w katalogu zasobów:

<x:String x:Key="MyString">This is a resource</x:String> 

W swojej XAML:

<TextBlock Text="{StaticResource MyString}"/> 

w postaci kodu:

string myString = (string)(App.Current.Resources["MyString"]); 
+0

Łatwo i prosto :) –

11

włączenie tej

xmlns:system="clr-namespace:System;assembly=mscorlib" 

Mają zasób system:string takiego.

<Window.Resources> 
    <system:String x:Key="GreetingText">Hello</system:String>   
</Window.Resources> 

i używać go w XAML jako

<TextBlock Text="{StaticResource GreetingText}" /> 

i używać go w kodzie tyłu jak

string s = (string)objectofMainWindow.Resources["GreetingText"]; 

EDIT: Odpowiedź na Twój komentarz

Its ten sposób. Słownik zasób jest wewnątrz 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> 
+0

chcesz powiedzieć Muszę stworzyć plik System.string i umieścić w nim tagi xml ??? –

+0

Zasób system.string. –

+0

To jest mój słownik zasobów i daje mi pewne błędy. ' Witaj ' –

Powiązane problemy