我正在構建一個WPF應用程序,我需要打開一個WPF窗體作爲對話框(彈出)在另一個窗體的按鈕上單擊。我知道如何在Windows窗體中,只是沒有得到如何在WPF中做到這一點。打開WPF窗體作爲按鈕單擊對話框
在此先感謝。
我正在構建一個WPF應用程序,我需要打開一個WPF窗體作爲對話框(彈出)在另一個窗體的按鈕上單擊。我知道如何在Windows窗體中,只是沒有得到如何在WPF中做到這一點。打開WPF窗體作爲按鈕單擊對話框
在此先感謝。
下面是如何在WPF做一個對話框一個完整的解釋:
http://marlongrech.wordpress.com/2008/05/28/wpf-dialogs-and-dialogresult/
基本代碼,你正在尋找如下:
wpfDialog dialog = new wpfDialog();
dialog.ShowDialog();
上述文章將引導您瞭解如何從表單獲取信息,如果您還想要。
var diag = new Dialog();
diag.Show(); // or diag.ShowDialog(); for a modal dialog. Returns a 'bool?'
Dialog
是你必須自己創建一個類,它應該從Window
,其中有方法Show
和ShowDialog
繼承。 (在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();
(寫在這裏,可能有錯誤代碼)
我是否需要包含任何或名稱空間,引用...我包括Microsoft.Win32;但它不支持「.Show」方法。它也不允許爲我創建一個實例。 var diag = new System.Windows.Forms.VisualStyles.VisualStyleElement.Window.Dialog(); diag.Show(); – GirishK 2011-06-05 05:24:04
'Dialog'是一個你必須自己編寫的類,它不在任何名字空間中。您可以在項目中創建一個新窗口,然後創建一個實例並使用代碼顯示它。 – 2011-06-05 05:36:24
@ H.B. - 謝謝 – GirishK 2011-06-05 05:49:21
wpfDialog不工作..我缺少任何參考/命名空間..?或者它是繼承任何對話類的自定義類? – GirishK 2011-06-05 05:36:55
@GirishK - wpfDialog是一個虛擬名稱。您應該將其替換爲您爲該對話框創建的WPF表單的名稱。查看我的鏈接瞭解示例和示例代碼。它還引用了關於如何執行此操作的MSDN文檔。 – IAmTimCorey 2011-06-05 05:44:42
謝謝,讓它工作.. – GirishK 2011-06-05 05:55:25