2009-08-20 14 views
0

私のアプリケーションのダイアログでは、タブのリストにバインドされた観測可能なコレクション(別の場所に格納されている)があります。ダイアログを閉じてもう一度開くと、現在選択されているタブが失われ、最初のタブになります。選択したタブが存続するようにタブを設定するにはどうすればよいですか?現在のアイテムで観察可能なコレクション?

私は、観察可能なコレクションには「現在のアイテム」のプロパティがありましたが、それはそうではないようです。私は現在のアイテムプロパティを持つItemCollectionとCollectionViewを見てきましたが、興味があるかどうかはわかりません。

答えて

1

ダイアログのClosingイベントでは、 TabItem。あなたのダイアログのLoaded場合に

は、単純に言う:

yourTabControl.SelectedItem = _savedTab; 

コードビハインドでこれを実現する最も簡単な方法です。 ObservableCollectionはお手伝いしません。

2

これは古い質問ですが、私はそれらの本を探しているかもしれないためにお答えします...

私は、これはMVVMパターンを使用して処理の方法は、私のViewModel上のObservableCollectionの両方を持つことがあったのTabControlへそのItemsSourceと、TabControlがSelectedItemプロパティをバインドするActiveItemプロパティをバインドします。

MVVMの設計原則を維持しています(つまり、ViewModelはビューを意識してはいけません)。

+1

+1非常に優れたMVVM中心アプローチ。どうもありがとう。 –