0

我有一个 ItemsControl 托管一些输入控件(文本框等)。当我在 ItemsControl 的背景中单击时,焦点会自动更改为 ItemsControl 中的第一个项目。

有没有办法防止这种情况?我已经尝试在不调用 base 的情况下覆盖 ItemsControl 上的 OnGotFocus,但它没有用。

先谢谢了!

雅克。

4

1 回答 1

1

好的,我找出了导致第一个元素获得焦点的原因。就我而言,我使用的是托管自定义 ItemsControl 的 ScrollViewer。ItemsControl 和其中的容器将 IsTabStop 设置为 false。焦点的更改是由 OnMouseLeftButtonDown 方法中的 ScrollViewer 进行的。

由于 ScrollViewer 是密封的,我必须覆盖容器上的 OnMouseLeftButtonDown 和 ItemsControl 以将 e.Handled 设置为 true。这解决了我的问题。

于 2013-02-20T17:48:22.803 回答