0

嘿。我有一个绑定到可观察集合的选项卡控件。

我试过做

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

它似乎确实专注于 tabitem,但只关注 tabitem 标题中的 btn,而不是内容。tabitem 内容是另一个用户控件。

如何将焦点更改为内容,以便实际选择选项卡而不仅仅是选项卡标题

我知道 tabcontrol.selecteditem,但我不确定我将如何实现它,因为 observablecollection 实际上是一个我称之为 ObservableTabCollection 的类,它只是实现了 observable 集合。

4

2 回答 2

0

我的解决方案变成简单地在 observabletabcollection 上创建一个方法,将 tabcontrol 与 observabletabcollection 关联起来

public TabControl AssociatedTabControl;

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

然后在方法调用中

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

TabControl.SelectedItem从 ObservableTabCollection 双向绑定到特定的 TabItem。然后,您可以将绑定设置为从 ObservableTabCollection 中拉出的任何项目,以使该选项卡成为显示的选项卡。

于 2010-06-01T13:32:13.053 回答