私は、タブコントロールにデータを表示するWPFアプリケーション(.NET 3.0、VS2008)を持っています。基本的に白い前景色と緑色の背景:このアプリケーションのほぼすべてのコントロールにカスタム色が必要です。WPFアプリケーションでXPテーマを無効にするにはどうすればよいですか?
私の問題は、XPテーマ(Luna)がアクティブなときに、自動的に白いテキストが白い背景に書き込まれるようにコントロールをレンダリングするために適用されることです。私が試みた
:アクティブなタブ項目ヘッダーに、例えば無用:
- は、生成されたアプリケーションから(プロジェクトのプロパティに)埋め込まれたマニフェストファイルを削除します。アプリケーションリソースで、Windowsクラシックテーマの使用を強制する
:
<ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/PresentationFramework.Classic;V3.0.0.0;31bf3856ad364e35;component/themes/classic.xaml" /> </ResourceDictionary.MergedDictionaries>
この最後の試みは、まだ上記のように表示されるタブコントロールを除いて、すべてのコントロールのために素晴らしい仕事しました。
更新:私はこの動作を疑っていますが、私はタブコントロールに適用する必要がカスタムスタイルによるものです:
<Window.Resources>
<Style x:Key="Custom">
<Setter Property="Control.Background" Value="#FF47C7C8" />
<Setter Property="Control.Foreground" Value="White" />
</Style>
<Style TargetType="TabControl" BasedOn="{StaticResource Custom}" />
</Window.Resources>
それでは、どのように私は、カスタム色と古典的なテーマを得ることができますか?
http://msdn.microsoft.com/en-us/library/ms752032.aspxから入手してください。 Merci en tous cas! – Mac
実際、私はKaxamlの "Simple Styles"(http://blog.nerdplusart.com/simplestyles)スニペットの1つを微調整しました。 WPFコントロールの外観をカスタマイズする必要がある場合には、これは最適な出発点です。 :) – Peter