0

シンプルな WP7 アプリの廃棄を設定しています。アイテムのリストがあり、ListBox.SelectedIndex を状態メモリに保存し、ページに戻ったときにそのアイテムをリストで選択したいと考えています。

次のコードを試してみると、値の保存は機能しているように見えますが (MessageBox に表示して確認しました)、リスト項目が選択されていません。

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {

            if (State.ContainsKey("activeResult"))
            {
                listBox1.SelectedIndex = Convert.ToInt32(State["activeResult"]);
            }
            base.OnNavigatedTo(e);
        }

        protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
        {
            State["activeResult"] = listBox1.SelectedIndex;
            base.OnNavigatedFrom(e);
        }

コードはエラーなしでコンパイルされますが、リストボックス項目は決して選択されません。ご協力いただきありがとうございます!乾杯ウィル

4

1 に答える 1

3

ワイルドな推測では、を設定したにリストをデータバインディングしてSelectedIndexいるため、(ゼロでない限り)効果はありません。

SelectedIndex解決策:プロパティを設定またはデータバインドする前に、ViewModelが初期化されてロードさSelectedIndexれていることを確認し、UIコンポーネントではなくViewModelに設定してください。

于 2011-10-05T19:30:20.830 に答える