2017-06-26 22 views
0

動的にPicker.ItemsをXAMLに割り当てる方法はありますか?以下のようなXamarin.Forms x:StringへのXAMLバインディング

何か:

<Picker x:Name="pckTheme"> 
    <Picker.Items> 
     <x:String>{Binding Option1Text}></x:String> 
     <x:String>{DynamicResource Option2Text}></x:String> 
    </Picker.Items> 
</Picker> 

は(このサンプルでは、​​当然のことながら、機能していません)。

私が知る限り、Picker.Itemsで唯一許可されている型はx:Stringであり、x:Stringにバインドするメソッドが見つからないようです。

コードから実行するのは比較的簡単ですが、可能であればXAMLから直接実行することをお勧めします。

ここでの目標は、リソースファイルからコンテンツをローカライズすることですが、他の用途も便利です。

+1

値のバインドはどうですか?それはあなたのために働かないのですか? – apineda

+0

それは私がやろうとしていることです。 では動作していないようです。 – bocko

+0

私はあなたがリソースファイルから情報(あなたの文字列)を読んで、Pickerにバインドされたリストにそれを挿入できると思います... – apineda

答えて

0

通常は、Pickerを必要に応じて動的にできるアイテムのリストにバインドします。ハードコーディングされたアイテムとしてそこに置くことは、あなたが私に尋ねると本当に動的に割り当てることではありません。 XAMLで使用するValueConverterを作成し、キーの言語固有の値を取得し、Pickerをキーのリストにバインドします。

+0

私はXAMLからできる限り多くを得ようとしています。できればリソースから{Strings.keyValue}を使用するというアイデアがあるので、ローカライゼーションはXamarin.forms自体で処理されます。それは私の意見でハードコーディングされていません。 – bocko

関連する問題