C# 即使staysopen为false,除非在控件上单击,然后在外部单击,否则弹出窗口不会关闭
当从组合框中选择一个项目时,我需要打开一个弹出窗口。 这部分工作正常。但是,在外部单击时,弹出窗口不会关闭。 仅当单击弹出窗口内的按钮,然后单击弹出窗口外的按钮时,它才会关闭。 我尝试过将staysopen设置为false,也尝试过对按钮进行对焦。 XAML 代码隐藏C# 即使staysopen为false,除非在控件上单击,然后在外部单击,否则弹出窗口不会关闭,c#,.net,wpf,C#,.net,Wpf,当从组合框中选择一个项目时,我需要打开一个弹出窗口。 这部分工作正常。但是,在外部单击时,弹出窗口不会关闭。 仅当单击弹出窗口内的按钮,然后单击弹出窗口外的按钮时,它才会关闭。 我尝试过将staysopen设置为false,也尝试过对按钮进行对焦。 XAML 代码隐藏 namespace WpfApplication2 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summ
namespace WpfApplication2
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
p1.IsOpen = true;
}
}
}
听起来你想要的是一个工具提示。我不认为工具提示会有用,因为我想在组合框的selectionchanged事件中打开弹出窗口。请你详细说明你的答案好吗?嗯,是的,我想你对离开更感兴趣。不确定为什么会发生这种情况,但在您在SelectionChangedHmm中打开它之前,将有一个playTry将焦点设置为p1,我知道这可能有点卑鄙,但您可以处理弹出窗口的MouseLeave事件,然后将st p1.IsOpen设置为false。啊。
namespace WpfApplication2
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
p1.IsOpen = true;
}
}
}