私のアプリケーションでは、Popup を使用して (背景色が異なる) カスタム メッセージ ボックスを作成しました。そこにはボタンがあり、ボタンクリックイベントを実装しました。
ボタンクリックでメッセージボックスがあり、「OK」か「キャンセル」でそこからの操作を行います。
問題は、ポップアップ(カスタムメッセージボックス)のボタンをクリックした後、メッセージボックスが読み込まれますが、それでもポップアップ(カスタムメッセージボックス)がバックグラウンドに表示されます。完全に閉じて操作を実行するには、カスタム ポップアップが必要です。したがってpopup.IsOpen = false;
、ボタン クリック内の最初のステートメントとして使用しましたが、ボタン クリック イベント全体が完了するまでバックグラウンドで表示されます。他のプロパティを検索しましたが、機能するものが見つかりませんでした。
以下はコードです
Popup popup = new Popup();
popup.Height = 300;
popup.Width = 480;
popup.VerticalOffset = 100;
CustomMessageBox control = new CustomMessageBox();
popup.Child = control;
popup.IsOpen = true;
this.IsEnabled = false;
control.OK_BTN.Click += (s, args) =>
{
popup.IsOpen = false;
this.IsEnabled = true;
MessageBoxResult result = MessageBox.Show("Do you want to reset the settings ?", "Settings", MessageBoxButton.OKCancel);
if (result == MessageBoxResult.OK)
{
changeSettings();
}
};
これを達成するための提案は高く評価されます。ありがとう...!!!