問題タブ [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.

0 投票する
0 に答える
1114 参照

wpf - WPF ウィンドウ Chrome スタイリング

タスクバーとアプリヘッダーのさまざまなアイコンの問題を解決するためにWindowChrome クラスを使用しています。これが私のwindow.styleの例です:

最大化されていない場合 - 私のウィンドウは思い通りに見えます。

しかし、最大化すると (ダブルクリック/最大化ボタンのクリックまたは上部にドッキング)、ヘッダーの背景が黒くなり、ボタンが表示されず、アイコンが画面の境界からはみ出します。:(

ここに画像の説明を入力

助言がありますか?私のスタイルで何が間違っていますか?

0 投票する
1 に答える
514 参照

c# - ContentControl を追加するとアプリケーションが中断モードになるのはなぜですか?

簡単に

WindowChromeウィンドウに適用する美しいスタイルを作成しました。しかし、自分のスタイルに追加ContentControlすると、アプリケーションは中断モードに入ります。

この youtube videothis articlethis 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機能しましたが、テンプレートに配置しようとすると失敗します。

私の質問は次のとおりです。

  1. をテンプレートに配置すると、アプリケーションが中断モードになるのはなぜですか?ContentControlWindow
  2. この問題を解決するにはどうすればよいですか?
    • ControlTemplateファイルからmy を使用するIcons.xaml必要があり、このコンテンツへの呼び出しはウィンドウStyle(ウィンドウの実際の xaml ではなく) に残す必要があることに注意してください。