阻止ItemsControl在单击时更改焦点(Silverlight)

时间:2013-02-20 14:12:25

标签: silverlight

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

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

先谢谢!

雅克。

1 个答案:

答案 0 :(得分:1)

好的,我弄清楚导致第一个元素获得焦点的原因。在我的例子中,我使用托管自定义ItemsControl的ScrollViewer。其中的ItemsControl和容器将IsTabStop设置为false。焦点的改变是由OnMouseLeftButtonDown方法中的ScrollViewer完成的。

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