WPF - 打开UserControl作为一个新的对话框而不冻结主要

时间:2016-05-16 12:57:50

标签: c# wpf xaml user-controls

我有一个按钮,可以启用我的UserControl。 UserControl将显示一些报告和其他内容,并位于故事板中。

<Button>
    <Button.Triggers>
        <EventTrigger RoutedEvent="Button.Click">
            <BeginStoryboard>
                <Storyboard>
                    <Int32AnimationUsingKeyFrames Storyboard.TargetName="Reports"
                                                  Storyboard.TargetProperty="ActiveReport">
                        <DiscreteInt32KeyFrame KeyTime="0:0:0" Value="1"/>
                    </Int32AnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Button.Triggers>
</Button>

现在我想添加一种可能性,如果用鼠标右键单击按钮,则将此UserControl作为新对话框打开。

我将方法BtnClick绑定到此按钮:

<Button MouseRightButtonUp="BtnClick">
     ...
</Button>

然后使用此UserControl创建一个新窗口作为内容:

private void BtnClick(object sender, EventArgs e)
{
    Window window = new Window
    {
        Content = new MyUserContent()
    };

    window.ShowDialog();
}

然后可以通过右键单击打开需要UserControl的新窗口。问题是,如果打开一个新窗口,那么我就不能再使用主窗口了。它只是冻结,我无法选择它,直到我关闭打开的窗口。我希望能够使用两个使用这个UserControls的窗口。

更新

使用window.Show()而不是window.ShowDialog()将解决问题。感谢@Darshan。

0 个答案:

没有答案