[英]Tabitem.focus only focuses on tabitem header
嘿。 我有一个绑定到可观察集合的tabcontrol。
我试着做
var tabitem = (TabItem)this.SingleOrDefault(ti => ti.Name == tabname);
tabitem.Focus();
((UserControl)tabitem.Content).Focus();
它似乎确实专注于tabitem,但仅关注tabitem标头中的btn,而不关注内容。 tabitem内容是另一个用户控件。
如何更改焦点到内容,以便实际上选择选项卡,而不仅是标题
我知道tabcontrol.selecteditem,但是我不太确定我将如何实现它,因为observablecollection实际上是一个我称为ObservableTabCollection的类,它只是实现了observable集合。
将TabControl.SelectedItem
双向绑定到ObservableTabCollection中的特定TabItem。 然后,您可以将绑定设置为从ObservableTabCollection中拉出的任何项目,以使该选项卡成为显示的选项卡。
我的解决方案变成了简单地在observabletabcollection上创建一个方法,该方法将tabcontrol与observabletabcollection关联
public TabControl AssociatedTabControl;
internal void BindToTabControl(TabControl TabCtrl)
{
AssociatedTabControl = TabCtrl;
}
然后在方法调用中
if (AssociatedTabControl != null) AssociatedTabControl.SelectedItem = tabitem;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.