【发布时间】:2014-07-30 12:04:55
【问题描述】:
在我的视图中有一个 ItemsControl,它绑定到来自 ViewModel 的 ObservableCollection。集合被填充,然后引发从 VM 到视图的事件(想想搜索结果和 SearchFinished 事件)。 如何将键盘焦点移动到 ItemsControl 中的第一项? 我正在使用 MVVM 模式
【问题讨论】:
-
也许你应该尝试 ItemsControl 的 LayoutUpdated 事件,在它的处理程序中找到它的第一个孩子并使用 Keyboard.Focus(child)
-
如何在viewmodel中创建LayoutUpdated事件?
-
您在视图后面的代码中创建它,它可以并且不违反 MVVM 模式,因为它的视图特定行为是您想要的
-
当GeneratorStatus == ContainersGenerated 时,您可以使用ItemsControl.ItemContainerGenerator.Status 触发焦点事件
-
你能给我一个 ItemsControl.ItemContainerGenerator.Status 的示例代码吗?
标签: wpf mvvm wpf-controls