WPF从UserControl打开模态窗口

时间:2013-02-13 10:41:10

标签: wpf mvvm modal-dialog

我的WPF应用程序中有一个MainWindow。

此MainWindow左侧有一个菜单,当选择菜单选项时,右侧会加载UserControl。 这类似于asp.net中的母版页

我现在要做的是从UserControl中显示一个模态窗口,它只允许用户与模态窗口进行交互。

我看过主窗口的示例显示了一个模态窗口(http://www.codeproject.com/Articles/36516/WPF-Modal-Dialog)但不确定如何从UserControl加载它。

2 个答案:

答案 0 :(得分:1)

有这个:dialogs and mvvm但这是我见过的最好的例子:mvvm and closing forms

第一个链接我没有使用过,并且在找到第二个链接时偶然发现了这里。第二个链接有两个下载,你可以忽略_service下载,它基本相同。

答案 1 :(得分:0)

这种方法在WPF中是一种方法

  1. 向项目添加新的Window
  2. 根据需要将其他控件添加到窗口中。
  3. 在XAML中,将窗口命名为x:Name="MyWindow"
  4. 在窗口上放置“依赖项”属性,并使每个控件绑定到窗口的数据上下文,例如{Binding MyText, ElementName=MyWindow}。 (请注意,即使对于WPF,这些Visual Studio代码片段也要添加不同的依赖项属性,我仍然使用Silverlight Snippets来节省大量冗余操作的时间。
  5. 在您要启动模型对话框的位置,使用以下示例:

示例:

 var about = new About(); // Create the new window

 // I've added a CompanyName dependency property.
 about.CompanyName = "OmegaMan Industries";

 about.ShowDialog();