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