我有一个透视控件,我使用ItemSource属性传递数据。我也在使用数据模板来填充数据透视表项。如何强制关注Windows 10应用程序(UWP)的XAML ListView?
数据模板里面有一个listview。
<DataTemplate ..... >
<ListView ....></ListView>
</DataTemplate>
我想将键盘事件附加到页面中的ListView。如使用Home键滚动到顶部并使用结束键滚动到底部。
由于ListView在DataTemplate中,因此无法在编译时连接Keyboard事件。采取
途径来克服这一:
1)在XAML控制使用的KeyDown属性
Result: Too much delay for the event to trigger
2)使用的VisualTree
Result: Traversing creates lot of overhead.
3)使用的ListView加载事件
Result: Called only once
到目前为止采取的最佳解决方案:
1)为ListView的GotFocus属性附加键盘事件。
但我想在页面加载时强调Listview。另外,当我更改数据透视表项时,它应该自动强制关注新的ListView。
谢谢兰斯:)我的第三种方法实际上是使用ListView,它没有工作。然而,我尝试使用util:FocusHelper.IsFocus =“{x:绑定IsFocused,模式= OneWay}”,并按预期工作。 –