/ xamarin、mvvm、xamarin.ios、xamarin.android、xamarin.forms.labs - / Xamarinピッカーの選択アイテムが複数のページにまたがって存続する

Xamarin Pickerは、複数のページ(xamarin、mvvm、xamarin.ios、xamarin.android、xamarin.forms.labs)で永続する項目を選択しました。

質問: たぶん、この課題は次のように述べることができます。コンテンツページの単一のプロパティをXamarinフォームのグローバルに保存された変数にどのようにバインドするのですか?

詳細: MVVMパターンを使用しています。 collectionModelから動的に生成されるPickerオブジェクトを含むナビゲーションコンテンツページ(3つのうち1つのページ)があり、モデルは読み書き可能です。ページからページへのナビゲーションが(ユーザーの観点から)同じアイテムを表示するように、3つのコンテンツページすべてにわたってSelectedItem(またはインデックス、どちらか適切な方)を永続化しようとしています。

ContentPage_Appearing()イベントでPicker.SelectedIndexを手動で設定できます。私はむしろバインディングを使用したいと思います。

回答:

回答№1は1

次の手順を実行します:

  1. このように静的クラスを作成します。

    public static class DataClass
    {
    public static int PickerSelectedIndex = 0;
    }
    
  2. 追加する xmlns:localContentPage このように、各コンテンツページにマークを付けます。

    xmlns:local="clr-namespace:DataPersist"
    
  3. このように、各ページのXamlでコントロールのデータをバインドします。

    <Picker  x:Name="picker" SelectedIndex="{x:Static local:DataClass.PickerSelectedIndex}">
    

それはこのように動作します:

ここに画像の説明を入力