@@ -64,6 +64,8 @@ public class AcrylicMessageBox : AcrylicWindow
6464 private ButtonBase _noButton ;
6565 private ButtonBase _cancelButton ;
6666
67+ private ButtonBase _closeButton ;
68+
6769 static AcrylicMessageBox ( )
6870 {
6971 DefaultStyleKeyProperty . OverrideMetadata ( typeof ( AcrylicMessageBox ) , new FrameworkPropertyMetadata ( typeof ( AcrylicMessageBox ) ) ) ;
@@ -194,6 +196,13 @@ public object CancelButtonContent
194196 #endregion
195197
196198
199+ public override void OnApplyTemplate ( )
200+ {
201+ base . OnApplyTemplate ( ) ;
202+ // ウィンドウの「閉じる」ボタン要素を取得
203+ this . _closeButton = GetTemplateChild ( "btnCloseButton" ) as ButtonBase ;
204+ }
205+
197206 protected override void OnContentChanged ( object oldContent , object newContent )
198207 {
199208 base . OnContentChanged ( oldContent , newContent ) ;
@@ -289,24 +298,28 @@ private void UpdateStates()
289298 this . _yesButton . Visibility = Visibility . Collapsed ;
290299 this . _noButton . Visibility = Visibility . Collapsed ;
291300 this . _cancelButton . Visibility = Visibility . Collapsed ;
301+ this . _closeButton . IsEnabled = true ;
292302 break ;
293303 case MessageBoxButton . OKCancel :
294304 this . _okButton . Visibility = Visibility . Visible ;
295305 this . _yesButton . Visibility = Visibility . Collapsed ;
296306 this . _noButton . Visibility = Visibility . Collapsed ;
297307 this . _cancelButton . Visibility = Visibility . Visible ;
308+ this . _closeButton . IsEnabled = true ;
298309 break ;
299310 case MessageBoxButton . YesNo :
300311 this . _okButton . Visibility = Visibility . Collapsed ;
301312 this . _yesButton . Visibility = Visibility . Visible ;
302313 this . _noButton . Visibility = Visibility . Visible ;
303314 this . _cancelButton . Visibility = Visibility . Collapsed ;
315+ this . _closeButton . IsEnabled = false ;
304316 break ;
305317 case MessageBoxButton . YesNoCancel :
306318 this . _okButton . Visibility = Visibility . Collapsed ;
307319 this . _yesButton . Visibility = Visibility . Visible ;
308320 this . _noButton . Visibility = Visibility . Visible ;
309321 this . _cancelButton . Visibility = Visibility . Visible ;
322+ this . _closeButton . IsEnabled = true ;
310323 break ;
311324 default :
312325 break ;
0 commit comments