2011-06-05 91 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

相關問題