1

MVVM Lightに付属するEventToCommand動作を使用して、ListBoxのSelectedItemをViewModelのRelayCommandにバインドしています

ListBoxを使用してビューから移動した後、SelectedItemに戻ることを除いて、すべてが私のWindowsPhone7アプリで正常に機能します。私が欲しいものではありません。

ナビゲートするときに選択したインデックスをリセットしようとしましたが、コマンドが再度トリガーされます。

他の誰かがこの問題をどのように解決しましたか?

TIA

パトリックロング

4

3 に答える 3

1

これは、各ハンドラーの開始時に簡単なチェックで処理します。単一のアイテムの選択のみをサポートしていると仮定すると、追加されたアイテムがあるかどうかを確認できます。

if (e.AddedItems.Count == 1)
{
    // Your code here
}

e(のインスタンスはどこにありますかSelectionChangedEventArgs。)

選択が削除されている場合、AddedItemsリストは空になりますが、RemovedItems代わりにリストにデータが入力されます。

于 2011-06-10T07:40:59.280 に答える
0

mvvm lightを使用しているので、特定のビューモデルのViewModelLocatorでclearメソッドを呼び出すことはできませんか?

于 2011-06-09T23:51:59.957 に答える
0

SelectionChangedイベントの使用を切り替えました。今、私はすべてTapGesturesでそれを行います。これの欠点は、TapGestureがEventToCommandの動作で機能しないことです。そのため、ビューでGestureイベントをトラップし、送信者のDataContextにバインドされているコマンドを実行しています。

私見ですが、これはSelctionChangedを使用してSelectedIndexesをいじくり回すよりもはるかに優れています。

于 2011-07-01T08:39:22.040 に答える