WPF書き換えメッセージボックス

免責事項:この記事は再現CC BY-SA 4.0の著作権契約を、従って、ブロガーオリジナル記事です、元のソースのリンクと、この文を添付してください。
このリンク:HTTPS://blog.csdn.net/lc352778616/article/details/79076724
WPFウィンドウのカスタムメッセージボックスを実装し、カスタムのクリックイベントの実装使用して
レンダリングを


プロジェクト構造


//工場の異なるスタイルの類似パターンメッセージボックスを表示
クラスMyMessageBox
{
= 0 OK INTパブリック静的;
公共静的INT = OKCANCLE 1;
公共MyMessageBox(){}

パブリック静的ボイド表示(文字列の混乱)
{
MessageBoxOK myMessageBoxOK =新しいMessageBoxOK(混乱)。
myMessageBoxOK.Show();

}
/// <要約>
///显示对话框
/// </要約>
/// <PARAM NAME = "混乱">提示消息</ param>の
/// <PARAM NAME = "スタイル">对话框样式</ param>の
パブリック静的ブール?ShowDialog(文字列混乱、INTスタイル)
{
スイッチ(スタイル)
{
ケース0:
MessageBoxOK myMessageBoxOK =新しいMessageBoxOK(混乱)。
myMessageBoxOK.ShowDialogを返します();
ブレーク;
ケース1:
MessageBoxOKCancle myMessageBoxOKCancle =新しいMessageBoxOKCancle(混乱)。
myMessageBoxOKCancle.ShowDialogを返します();
ブレーク;
デフォルト:
falseを返します。
}

}

}

//メッセージボックス二つのボタンの背景コード
パブリックパーシャルクラスMessageBoxOKCancle:ウィンドウ
{

パブリックMessageBoxOKCancle()
{
のInitializeComponent();
}

公共MessageBoxOKCancle(文字列混乱)
{
のInitializeComponent();
message.Text =混乱。
}

ボイドConfirm_Clickプライベート(オブジェクト送信者、RoutedEventArgs E)
{
//トリガウィンドウが異常ようにShowDialogに配置されたオープンDialogResultない場合
トライ
{
this.DialogResult = trueに;
}
キャッチ(例外EX){}
this.Close();
}
プライベートCancle_Clickボイド(オブジェクト送信者、RoutedEventArgs E)は
{
ウィンドウがShowDialogメソッドで開かれDialogResult設定されていない場合は、//例外をスロー
試し
{
; this.DialogResult = falseに
}
キャッチ(例外EX){}
this.Close();
}
}

/ /メッセージボックスインタフェース
<ウィンドウX:クラス= "AutoShopManager.Managers.Messagebox.MessageBoxOKCancle"
のxmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:X = "http://schemas.microsoft.com/winfx/2006/xaml"
タイトル= "提示"高さ= "画面の中央" = "300"幅= "350"のWindowStyle = "なし" WindowStartupLocation>
<グリッド>
<TextBlockの名前= "メッセージ"たHorizo​​ntalAlignment = "左" TextAlignment = "センター" TextBlock.FontSize = "25"証拠金= "31,69,0,0" TextWrapping = "ラップ"テキスト= "支付成功" VerticalAlignmentを= "トップ"高さ=" 123"幅= "277" />
<ボタンのコンテンツ= "确定"たHorizo​​ntalAlignment = "左"マージン= "190,212,0,0" VerticalAlignmentを= "トップ"幅は= "75 Confirm_Click" =をクリックして"" / >
<ボタンのコンテンツ= "取消"たHorizo​​ntalAlignment = "左"=マージン"83,212,0,0" VerticalAlignmentを= "トップ"幅= "75"クリック"Cancle_Clickを" = />
</グリッド>
</窓>

メッセージボックス単一のボタンの背後//コード
パブリックMessageBoxOK()
{
のInitializeComponent() ;
}
公共MessageBoxOK(文字列混乱)
{
のInitializeComponent();
message.Text =混乱。
}
プライベートボイドButton_Click(オブジェクト送信者、RoutedEventArgs e)の
{
試みる{
this.DialogResult = FALSE;
}
キャッチ(例外例){}

this.Close();
}
}

<ウィンドウX:クラス= "AutoShopManager.Managers.Messagebox.MessageBoxOK"
のxmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
のxmlns:X = "http://schemas.microsoft .COM /のWinFX / 2006 / XAML」
タイトル= "提示"高さ= "300"幅= "350"のWindowStyle = "なし" WindowStartupLocation = "画面の中央">
<グリッド>
<TextBlockの名前= "メッセージ"たHorizo​​ntalAlignment = "左" TextAlignment = "センター" TextBlock.FontSize = "25"証拠金= "31,69,0,0" TextWrapping = "ラップ"テキスト= "支付成功" VerticalAlignmentを= "トップ"高さ= "123"幅= "277" / >
<ボタンのコンテンツ= "确定"




もし(MyMessageBox.ShowDialog( "種名は空にすることはできません" MyMessageBox.OKCANCLE).Valueの== trueに)
{
MessageBox.Show( "OK");
}

{
MessageBox.Show( "いいえ");
}

注:
ウィンドウあなたは、すべてのスレッドが戻るために、このウィンドウまでのフォームをShowDialogのために停止して、私たちは後ろにコードを実行します起動した場合
----------------
免責事項:この記事は"CSDNのブロガーチャールズ湘西です元の記事は、著作権の契約は、再現し、元のソースのリンクと、この文を添付してくださいBY-SA CC 4.0に従ってください。
オリジナルリンクします。https://blog.csdn.net/lc352778616/article/details/79076724

おすすめ

転載: www.cnblogs.com/wlcbk/p/11416624.html