如何在winrt上处理ListView中更改的焦点

时间:2012-12-15 17:45:04

标签: xaml windows-8 windows-runtime

我在XAML中有一个ListView控件,它包含由模板设置的项目。

模板包含TextBox

当我在键盘上的控件之间切换时,我会在整个模板周围找到一个选择框,并在下一个选项卡上将焦点转到第一个TextBox。

如果焦点在ListView上发生变化,我该如何得到通知?

[更新1] 这是一个开始: How to add a Blend Behavior in a Style Setter

首先,我需要挂钩GotFocus / LostFocus事件。执行此操作的最佳方法是使用行为,因此按照上面的详细信息,我创建了一个布尔附加属性IsScrollIntoViewEnabled。

然后我在ListViewItemContainerStyle的样式中设置该值。

所以第一阶段是我知道一个项目何时获得并失去焦点。我还不知道的是如何从ListViewItem返回到ListView本身。

1 个答案:

答案 0 :(得分:0)

我解决了拼图的最后一部分,通过遍历VisualTreeHelper.GetParent(x)从ListViewItem获取ListView,直到我找到了一个正确类型的对象。