3

データグリッドからのデータの追加/編集に使用される wpf フォームを作成しています。ただし、チェックするShowDialog() == trueと、上記の例外が発生します。

コードは書籍 (Windows Presentation Foundation 4.5 Cookbook) から引用しています。

UserWindow usrw = new UserWindow();
usrw.ShowDialog();
if (usrw.ShowDialog() == true)
{
     //do some stuff here;               
}

そしてWPFウィンドウで:

private void btn_Save_Click(object sender, RoutedEventArgs e)
{
   DialogResult = true;
   Close();
}

どうすればこれを処理できますか?

===============================

この問題の解決策は、単に usrw.ShowDialog(); を削除することでした。期待どおりに動作し始めます

UserWindow usrw = new UserWindow();
//usrw.ShowDialog();
if (usrw.ShowDialog() == true)
{
     //do some stuff here;               
}
4

1 に答える 1

6

を呼び出すたびに、ウィンドウを 2 回開こうとしています。ShowDialog()

試す

UserWindow usrw = new UserWindow();
bool result =(bool)usrw.ShowDialog();
if (result)
{
     //do some stuff here;               
}

また

UserWindow usrw = new UserWindow();
usrw.ShowDialog();
if ((bool)usrw.DialogResult)
{
    //do some stuff here;               
}

DialogResultNullableであることに注意してください。DialogResult を設定せずにウィンドウを閉じる可能性がある場合は、 を確認してくださいnull

于 2013-09-29T11:58:25.580 に答える