0

おい。監視可能なコレクションにバインドされているタブコントロールがあります。

やってみた

var tabitem = (TabItem)this.SingleOrDefault(ti => ti.Name == tabname);
    tabitem.Focus();
    ((UserControl)tabitem.Content).Focus();

また、タブアイテムに焦点を当てているように見えますが、コンテンツではなく、タブアイテムのヘッダーにあるbtnにのみ焦点を当てています。tabitemコンテンツは別のユーザーコントロールです。

タブヘッダーだけでなく実際にタブが選択されるように、フォーカスをコンテンツに変更するにはどうすればよいですか。

tabcontrol.selecteditemは知っていますが、observablecollectionは実際にはObservableTabCollectionと呼ばれるクラスであり、observableコレクションを実装するだけなので、これをどのように実装するかはよくわかりません。

4

2 に答える 2

0

TabControl.SelectedItemObservableTabCollectionから特定のTabItemに双方向でバインドします。次に、ObservableTabCollectionから引き出した任意のアイテムにバインディングを設定して、そのタブを表示されたタブにすることができます。

于 2010-06-01T13:32:13.053 に答える
0

私の解決策は、タブコントロールをobservabletabcollectionに関連付けるメソッドをobservabletabcollectionに作成することでした。

public TabControl AssociatedTabControl;

internal void BindToTabControl(TabControl TabCtrl)
        {
            AssociatedTabControl = TabCtrl;
        }

次に、メソッド呼び出し内

if (AssociatedTabControl != null) AssociatedTabControl.SelectedItem = tabitem;
于 2010-06-01T15:45:23.623 に答える