1. 程式人生 > 實用技巧 >WPF中的Window.ShowDialog()的HasValue與Value事件(全網目前獨一)

WPF中的Window.ShowDialog()的HasValue與Value事件(全網目前獨一)

WPF中的Window.ShowDialog()開啟的視窗中的按鈕Close()事件

我經常會使用ShowDialog().Value;這個遇到實現下面的功能時,ShowDialog()出的窗體Close()時,並不能返回值。
錯誤程式碼如下:
 0 AddDataWay addDataWay = new AddDataWay();
 1 if (addDataWay.ShowDialog().Value)  // 
 2             {
 3                 int selectedWay = addDataWay.SelectWay();
 4                 if
(selectedWay == 1) 5 { 6 } 7 else 8 { 9 } 10 }
跟改為:
 0 AddDataWay addDataWay = new AddDataWay();
1
if (addDataWay.ShowDialog().HasValue) // 2 { 3 int selectedWay = addDataWay.SelectWay();
4 if (selectedWay == 1) 5 { 6 } 7 else 8 { 9 } 10 }
AddDataWay視窗程式碼:
 1 public partial class AddDataWay : DXWindow
 2     {
 3         #region 成員變數
 4         public static int selectedWay=1
; // 選擇方式預設雲端 5 #endregion 6 7 public AddDataWay() 8 { 9 this.InitializeComponent(); 10 } 11 12 private void DXWindow_Loaded(object sender, RoutedEventArgs e) 13 { 14 } 15 16 /// <summary> 17 /// 雲端-0 18 /// </summary> 19 /// <param name="sender"></param> 20 /// <param name="e"></param> 21 private void ImportFromTheCloud_Click(object sender, RoutedEventArgs e) 22 { 23 selectedWay = 0; 24 this.Close(); 25 } 26 27 /// <summary> 28 /// 本地-1 29 /// </summary> 30 /// <param name="sender"></param> 31 /// <param name="e"></param> 32 private void ImportFromTheLocal_Click(object sender, RoutedEventArgs e) 33 { 34 selectedWay = 1; 35 this.Close(); 36 } 37 }