ListView LostFocus事件无法正常工作

时间:2014-02-10 11:24:22

标签: c# windows-store-apps windows-8.1

我有一个listview和一个textBLOCK。当我点击屏幕上的任何其他位置时,我想要折叠listview的可见性。我尝试使用LostFocus事件为我的列表视图执行此操作但仅在我选择项目时才会触发它。为什么它会像那样?

提前致谢!

3 个答案:

答案 0 :(得分:0)

尝试使用TextBlock的Leave或LostFocus事件,因为如果你对TextBlock进行聚焦,ListView会失去焦点,但是当你从ListView中聚焦某些东西时你会聚焦TextBlock,ListView永远不会成为焦点。

答案 1 :(得分:0)

现在基于this执行此操作的唯一方法似乎是直接从CoreWindow挂接触摸输入,然后每次比较触摸输入上的点ListView相对于CoreWindow的界限。

WinRTXamlToolkit可以通过向GetBoundingRect添加FrameworkElement等附加内容来为此提供帮助。

答案 2 :(得分:0)

我使用了IsTabStop属性。实际上我有一个用户控件,我有这个Listview。我做了以下步骤:

  • 我将UserControl的IsTabStop属性设置为“True”。
  • 然后我通过执行以下操作将焦点设置为文本块:

    this.Focus(FocusState.Pointer);
    
  • 然后创建了UserControl的LostFocus事件并折叠了ListView的可见性。