我有一个名为ListViewControl的Control,我在这个Control中有一个ListView。 ListView是可切换的(此函数称为ListToggle())。
如何在ListViewControl之外检查用户是否已点击(或按下,如果使用Touch),那么我可以在那里调用ListToggle()吗?
第二种可能性是检查ListViewControl中的所有是否已失去焦点。我可以想象它与儿童元素有关,但我对C#很陌生,这就是为什么我似乎无法弄清楚它。
ListViewControl.LostFocus不起作用,因为每次焦点切换到此Control中的另一个子元素时都会发生此事件。
可悲的是,我发现没什么可用的。只有WPF的东西对我来说没有用。答案 0 :(得分:0)
您可以在FocusManager
事件发生后使用LostFocus
来查看谁得到了关注。
至于点击任何地方 - 您可以在应用中的任意位置检查CoreWindow.GetForCurrentThread().PointerPressed
是否触发,并检查它是否在ListView
的范围内。否则 - 您可以使用透明ListView
将Popup
设置为全屏Grid
(请务必将其Background
设置为Transparent
,以使其可以点击/ hit-test-visible)并处理PointerPressed
上的Grid
。