しばらく前に、 uxtheme.dll
にパッチを適用することにしました(ユニバーサルテーマパッチャー)非公式のウィンドウテーマの使用を可能にします。問題は、WPFアプリケーションがネイティブのWindowsコントロール(スクロールバーやボタンなど)のカスタムテーマを無視し、代わりにそれらのクラシックテーマを使用することです。
私は最初にVisual Studio 2010でこれに気付きました:
これはプログラム自体のバグだと思いましたが、私自身のWPFアプリケーションを作成しても同じ結果が得られます。
グーグルは、私がこの問題の唯一の人ではないことを明らかにします、しかし私は解決策を見つけていません。
私にできることはありますか?別の uxtheme.dll
パッチャーを試すべきですか?それとも、Windowsを [gasp] カスタマイズしようとしたときに得られるものですか。
この問題に対する良い回避策があります。次の手順では、(コントロール用の)基本ウィンドウの代わりにWindows Vista/7テーマを使用するようにWPFに指示します。
新しいテーマを使用するとこれらの問題が発生するのは、wpfが現在アクティブになっているビジュアルスタイルのファイル名を確認することによってどのテーマが設定されているかを判断するためです。名前が "aero.msstyles"の場合は、aeroテーマが使用されます。それが "luna.msstyles"であるならば、それはさらに一歩進んで色を微調整するために現在の配色をチェックします(NormalColor、Metallic、Homesteadはwindows xpの配色です。Windowsvistaは配色の概念を完全に廃止します)窓エアロ)。 "royale.msstyles"のためのwpfの組み込みテーマもあります。テーマファイルにwpfが認識できない名前がある場合は、代わりにwindows基本テーマを使用します。
回避策は?表示スタイルを "{whatever} .msstyles"から "aero.msstyles"に変更してから、メモ帳で関連付けられている ".theme"ファイルを新しい名前に合わせて変更します。ファイル)。 WPFはWindowsの基本的な;-)の代わりにWindows Vistaのスタイルを表示します。
私も先ほどこの質問をしましたが、答えが見つかりませんでした。
https://stackoverflow.com/questions/7495906/visual-studio-2010-classic-システムテーマ
Visual Studio 2010がサポートする唯一のテーマは、既定のエアロテーマです。また、いくつかのテーマでサポートされていることに気付きましたが、ほとんどの場合はそうではありません。
基本的に、管理者としてVS2010を実行する、互換モードで実行する、SP1のインストール/アンインストールなど、すべてのことを試しました。
マイクロソフトの規則を遵守する必要があります。
plz言い訳、AlexKvenの答えの文脈からコメントしたり明確にしたりするための十分な「ポイント」がありませんでした
興味のある人のために、追加したいだけでした…
* .theme
ファイルでは、Titlecaseに aero.msstyles
を指定する必要があります。したがって、 ... \ aero.msstyles
ではなく、 Path =%ResourceDir%\ themes \ path \ to \ Aero.msstyles
のように読みます。
github.com/riverar/uxstyleもご覧ください。