C# WPF窗口在ListBoxItem';中弹出后失去焦点;s双击事件处理程序

C# WPF窗口在ListBoxItem';中弹出后失去焦点;s双击事件处理程序,c#,wpf,xaml,C#,Wpf,Xaml,我想在新窗口中的ListBox中显示一些对象的详细信息,因此我在ListBoxItem的MouseDoubleClick处理程序中创建并显示一个新窗口 以下是一个例子: MainWindow.xaml: <Window x:Class="Test.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2

我想在新窗口中的
ListBox
中显示一些对象的详细信息,因此我在
ListBoxItem
MouseDoubleClick
处理程序中创建并显示一个新窗口

以下是一个例子:

MainWindow.xaml:

<Window x:Class="Test.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ListBox>
        <ListBoxItem MouseDoubleClick="ListBoxItem_MouseDoubleClick" Content="Test" />
    </ListBox>
</Window>

MainWindow.xaml.cs:

using System.Windows;
using System.Windows.Input;

namespace Test
{
    /// <summary>
    ///     Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void ListBoxItem_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            (new Window()).Show();
        }
    }
}
使用System.Windows;
使用System.Windows.Input;
名称空间测试
{
/// 
///MainWindow.xaml的交互逻辑
/// 
公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
}
private void ListBoxItem_MouseDoubleClick(对象发送器,MouseButtonEventArgs e)
{
(新窗口()).Show();
}
}
}
如果我双击“测试”项,会弹出一个新窗口,然后很快失去焦点。为什么?我如何防止新事物失去焦点


此外,我不想使用<代码>显示对话框方法,因为我可能需要同时打开多个窗口。

< P>在鼠标点击事件(或其他UI事件)中间进行UI操作通常会导致不希望的行为,如你所看到的。有关解决方法,请参见此答案: