下面的屏幕截图显示了我的问题。我有一个ItemsControl
其中的DataTemplate
项目包含 aCheckBox
和 aTextBox
后跟一些文本。当我从 aTextBox
切换到下一行时,它正确接收键盘焦点,但小的视觉焦点矩形位于错误的位置 -无论哪个项目具有焦点,CheckBox
始终位于左上角。ItemsControl
什么?我添加了一个用绿色突出显示的触发器,IsKeyboardFocusWithin
以表明焦点在正确的位置。按Spacebar
取消选中绿色复选框。
更改中的值TextBox
确实会导致在另一个窗口中重新计算一些东西。有一点延迟(在这台机器上至少 < 1 秒),如果我关闭对值变化做出反应的窗口,问题就会消失。是否有可能在键盘焦点使用的视觉树的布局完成更新之前绘制视觉焦点?
我并不十分关心解决这个问题。我只是想知道这是否有意义?