我有一个ItemsControl控件,它与列表绑定数据。 ItemsControl是一个DataTemplate,它将所有数据绑定项显示为按钮。
现在我希望第一个按钮获得焦点。
什么时候设置焦点?在ContentRendered和DataContextChanged事件中执行此操作不会在此处呈现控件。
奖金问题:在我的窗口上查找这样一个按钮的最佳方法是什么?
答案 0 :(得分:0)
我猜测 DataContextChanged 事件不起作用,因为DataContext实际上在您绑定的ObservableCollection有任何内容之前发生了变化。
我没有机会测试它,但只是想一想,也许您可以尝试在绑定到 ItemsSource 的TargetUpdated事件处理程序中设置焦点。< / p>
唯一的问题是,如果集合继续更新,那么焦点将不断返回到第一个按钮,但这是您可以使用简单标记处理的内容。