焦点丢失时关闭弹出窗口

Rob*_*Dam 2 .net c# wpf xaml

我有一个包含ListView的弹出窗口.ListView包含客户名称.单击搜索栏时弹出窗口.用户可以在搜索栏(TextBox)中输入文本,并根据输入过滤Listview.

我想在它失去焦点时关闭弹出窗口.但是,默认的"自动关闭"行为 StaysOpen="False"并不好,因为每次有人点击搜索栏时它都会关闭弹出窗口.

除焦点进入搜索栏外,如何在失去焦点时始终关闭弹出窗口?

van*_*ja. 12

也许你可以在搜索文本框上放一些钩子.当它获得焦点时,它可以打开弹出窗口并进行设置StaysOpen = true.当文本框失去焦点时,它可以StaysOpen = false在弹出窗口中设置.

XAML代码:

 <Popup x:Name="pop" StaysOpen="False">
Run Code Online (Sandbox Code Playgroud)