2017-08-16 22 views

答えて

1

あなたにも言及したUWPで動作しているソリューションのNew Method

これまでに提案されている唯一の解決策は、Windowsでのみ8.1アプリケーションを動作するようです。設計時にData Bindingを使用することをお勧めします。

次のクラスは、.reswファイルreaderのように動作します。キーパラメータを送信すると、keyの値が返されます。

public class LocalizedStrings 
{ 
    public string this[string key] 
    { 
     get 
     { 
      return ResourceLoader.GetForViewIndependentUse().GetString(key); 
     } 
    } 
} 

バインディングを使用する前に、App.xamlファイルでreaderをインスタンス化する必要があります。

<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の内容は、デザイナーに表示されます。

enter image description here

+0

これは今、私のために働いてくれてありがとう! 'Binding'アプローチか' x:Uid'を使うべきですか?むしろ、すべてを2回指定しないでください(これはバグの良いソースのようです)。また、 'Text:'プロパティが 'x:Uid'メカニズムによって後で上書きされたとしても、実行時に' ResourceLoader'が 'Binding'から呼び出されていることがわかりました。 –

+0

デザイン時にリソース文字列を使いたい場合は、上記のような 'Binding'アプローチを使うのが良いでしょう。 –

+0

私の場合は、実際の値ではなく「Item」が表示されます。これは表示されていないテキストよりも優れていますが、intelliSenseはpathプロパティの助けにならないのでtypoが簡単に発生する可能性があります。これをdesignTimeで確認したいと思います。これには解決策がありますか? – Hannes

関連する問題