2011-06-05 129 views
1

我正在构建一个WPF应用程序,我需要打开一个WPF窗体作为对话框(弹出)在另一个窗体的按钮上单击。我知道如何在Windows窗体中,只是没有得到如何在WPF中做到这一点。打开WPF窗体作为按钮单击对话框

在此先感谢。

回答

1

下面是如何在WPF做一个对话框一个完整的解释:

http://marlongrech.wordpress.com/2008/05/28/wpf-dialogs-and-dialogresult/

基本代码,你正在寻找如下:

wpfDialog dialog = new wpfDialog(); 
dialog.ShowDialog(); 

上述文章将引导您了解如何从表单获取信息,如果您还想要。

+0

wpfDialog不工作..我缺少任何参考/命名空间..?或者它是继承任何对话类的自定义类? – GirishK 2011-06-05 05:36:55

+0

@GirishK - wpfDialog是一个虚拟名称。您应该将其替换为您为该对话框创建的WPF表单的名称。查看我的链接了解示例和示例代码。它还引用了关于如何执行此操作的MSDN文档。 – IAmTimCorey 2011-06-05 05:44:42

+0

谢谢,让它工作.. – GirishK 2011-06-05 05:55:25

0
var diag = new Dialog(); 
diag.Show(); // or diag.ShowDialog(); for a modal dialog. Returns a 'bool?' 

Dialog是你必须自己创建一个类,它应该从Window,其中有方法ShowShowDialog继承。 (在Visual Studio中,最好使用窗口模板创建窗口,以便自动创建属于该对话框的XAML标记文件)

您当然也可以创建对话框。例如

var dialog = new Window(); 
var sp = new StackPanel(); 
sp.Children.Add(new TextBlock(new Run("This is some text"))); 
var button = new Button(); 
button.Content = "OK"; 
button.Click += (s,e) => dialog.DialogResult = true; 
sp.Children.Add(button); 
dialog.Content = sp; 
dialog.ShowDialog(); 

写在这里,可能有错误代码)

+0

我是否需要包含任何或名称空间,引用...我包括Microsoft.Win32;但它不支持“.Show”方法。它也不允许为我创建一个实例。 var diag = new System.Windows.Forms.VisualStyles.VisualStyleElement.Window.Dialog(); diag.Show(); – GirishK 2011-06-05 05:24:04

+0

'Dialog'是一个你必须自己编写的类,它不在任何名字空间中。您可以在项目中创建一个新窗口,然后创建一个实例并使用代码显示它。 – 2011-06-05 05:36:24

+0

@ H.B. - 谢谢 – GirishK 2011-06-05 05:49:21

相关问题