Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 即使staysopen为false,除非在控件上单击,然后在外部单击,否则弹出窗口不会关闭_C#_.net_Wpf - Fatal编程技术网

C# 即使staysopen为false,除非在控件上单击,然后在外部单击,否则弹出窗口不会关闭

C# 即使staysopen为false,除非在控件上单击,然后在外部单击,否则弹出窗口不会关闭,c#,.net,wpf,C#,.net,Wpf,当从组合框中选择一个项目时,我需要打开一个弹出窗口。 这部分工作正常。但是,在外部单击时,弹出窗口不会关闭。 仅当单击弹出窗口内的按钮,然后单击弹出窗口外的按钮时,它才会关闭。 我尝试过将staysopen设置为false,也尝试过对按钮进行对焦。 XAML 代码隐藏 namespace WpfApplication2 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summ

当从组合框中选择一个项目时,我需要打开一个弹出窗口。 这部分工作正常。但是,在外部单击时,弹出窗口不会关闭。 仅当单击弹出窗口内的按钮,然后单击弹出窗口外的按钮时,它才会关闭。 我尝试过将staysopen设置为false,也尝试过对按钮进行对焦。 XAML

代码隐藏

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;
        }
    }
}