#wp7dev_jp #wdev_jp

準備編での準備が終わったら、いよいよ実装です。

定義を作り、XAML 内やコードの中で使用する方法です。

 

【1】 リソースファイルに定義を追加(対応言語数必要)

作成したリソースファイルに各言語ごとの定義を追加します。その際に(定義用の)名前は同じものを指定します。

image

image

【2】 XAMLの文字列リソースに適応する

以下のようなXAMLがあった場合に、Textの内容を定義したリソースに変更します。

<TextBlock  Text="アプリ名" />

Binding の定義で、Source に指定しているのは準備編の【4】で定義したプロパティ=【5】で指定したプロパティで、Path に上記で定義したプロパティを記載します。

<TextBlock 
 Text="{Binding Source={StaticResource LocRes}, Path=LocRes.appname}" />

プロパティウインドウで指定する場合

Visual Studio のプロパティでも定義できます。Text プロパティの右のアイコンを押して、「データバインドの適応」を選択します。

image

初めに、ソースを選択します。StaticResource → Application。Resource → LocRes を選択。

image

続けて、パスの設定です。LockRes → appname と指定します。

image

こうして、同じように定義されます。

<TextBlock 
  Text="{Binding Source={StaticResource LocRes}, Path=LocRes.appname}" />

 

【3】 C#でテキストリソースとして使う

C#のコード側は簡単です。使われるのは、準備編の【4】で Public 定義されたプロパティ StringResources です。

PageTitle.Text = StringResources.appname;

 

【4】 注意

アプリケーションバーは、OSの持ち物のため、単純にバインドできません。ですから、上記の方法を使ってコードで実装する必要があります。