Dav*_*ght 6 silverlight tabcontrol tabitem
我正在构建一个LOB应用程序,它有一个主要部分和一个带有各种TabItems的TabControl.在点击保存时,想法是突出显示任何错误字段,错误的第一个字段获得焦点.
如果第一个也是唯一的错误字段位于"未选定"选项卡上,则应选中该选项卡,并且错误字段应突出显示并具有焦点.但我不能让这个工作.
似乎正在发生的事情是Unselected选项卡不在可视树中,因此您无法导航回拥有的TabItem并使其成为TabControl中当前选定的TabItem.
有没有人知道如何实现这一目标?
我是如何解决这个问题的(通过询问首席架构师)......
使用一种方法 Activate 创建接口 ITabActivator。
创建一个从 Grid 和 ITabActivator 派生的类,名为 TabPageActivator。其构造函数采用 TabITem 和 TabControl。
添加 TabPageActivator,而不是向 TabItem.Contents 添加简单的 Grid。
将父级检测更改为使用...
DependencyObject 父 = _Control.Parent;
...而不是使用 VisualTreeHelper。
因此,当您浏览层次结构测试时...
if (父级是 TabActivator ) (父级是 ITabActivator).Activate( )
...所以当调用激活时
m_TabControl.SelectedItem = m_TabItem; // 来自构造函数参数。
...并且不要忘记您可能有嵌套选项卡,因此您需要继续向上移动层次结构。
归档时间: |
|
查看次数: |
8911 次 |
最近记录: |