0

質問: おそらく課題は次のように表現できます: コンテンツ ページの単一のプロパティを Xamarin Forms のグローバルに格納された変数にバインドするにはどうすればよいですか?

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

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

4

1 に答える 1

1

次の手順を実行します:

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

    public static class DataClass
    {
       public static int PickerSelectedIndex = 0;
    }
    
  2. 次のように、各コンテンツ ページにxmlns:localインマークを追加します。ContentPage

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

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

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

ここに画像の説明を入力

于 2017-10-31T07:26:38.797 に答える