問題タブ [window-chrome]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - WPF ウィンドウ Chrome スタイリング
タスクバーとアプリヘッダーのさまざまなアイコンの問題を解決するためにWindowChrome クラスを使用しています。これが私のwindow.styleの例です:
最大化されていない場合 - 私のウィンドウは思い通りに見えます。
しかし、最大化すると (ダブルクリック/最大化ボタンのクリックまたは上部にドッキング)、ヘッダーの背景が黒くなり、ボタンが表示されず、アイコンが画面の境界からはみ出します。:(
助言がありますか?私のスタイルで何が間違っていますか?
c# - ContentControl を追加するとアプリケーションが中断モードになるのはなぜですか?
簡単に
WindowChrome
ウィンドウに適用する美しいスタイルを作成しました。しかし、自分のスタイルに追加ContentControl
すると、アプリケーションは中断モードに入ります。
この youtube video、this article、this SO question、およびMicrosoft のドキュメントからコードをつなぎ合わせて、次のコードを作成しました。
注:アプリケーションはこれらの部分のいずれかで実行できないため、以下のコードはすべて関連していると見なされます(コードビハインドなしで実行できることはわかっていますが、閉じるボタンの代わりにVisual Studioからアプリケーションを停止する必要があるのは面倒です-これ私が達成しようとしているものでもあります)。作業しやすいように、実際には以下のコードをスリム化しました。
コード
Window.xaml
Icons.xaml
Window.xamlContentControl
Template
は、を介して属性値のこのファイルを参照しますApp.xaml
。
Window.xaml.cs
問題
行<ContentControl Template="{StaticResource Icon_Close}" Height="10"/>
が存在する場合 (行 38)、次のメッセージが受信されます。同じ行が削除/コメントアウトされると、アプリケーションは中断モードに入らずに実行されます。
出力ウィンドウを見ると、次のメッセージが表示されます。
質問
このコードは、の XAML コードに直接配置するとWindow
機能しましたが、テンプレートに配置しようとすると失敗します。
私の質問は次のとおりです。
- をテンプレートに配置すると、アプリケーションが中断モードになるのはなぜですか?
ContentControl
Window
- この問題を解決するにはどうすればよいですか?
ControlTemplate
ファイルからmy を使用するIcons.xaml
必要があり、このコンテンツへの呼び出しはウィンドウStyle
(ウィンドウの実際の xaml ではなく) に残す必要があることに注意してください。