2017-03-09 11 views
1

私のアプリケーションでカスタムMessageBoxを使用していて、自分のアプリスタイルを適用する必要があります。だから、私はメッセージボックスを作成するために、WPF Toolkitを使用して、私は私のメッセージボックスにMessageBoxStyleを適用しています:拡張WPFツールキットを使用したMessageBoxのデフォルトのWindowsテーマ

C#:

  Result = Xceed.Wpf.Toolkit.MessageBox.Show(
          message, 
          title, 
          messageBoxButtons, 
          messageBoxImage, 
          (Style)resourceDictionary["MessageBoxStyle"] 
         ); 

XAML:

<Style x:Key="MessageBoxStyle" TargetType="{x:Type xctk:MessageBox}"> 
    <!-- My Setters --> 
</Style> 

問題は、それが基本的に表示されるということですWindows Vistaのウィンドウのテーマ。 MessageBoxがマシンの実際のWindowsテーマを取得したいのですが(私のWindows Server 2008 R2 Eですが、アプリケーションが別のコンピュータで実行されている場合は変更されるかもしれません)。

このWindowsテーマを「デフォルトで」設定する方法はありますか?

答えて

0

WPFには、すべてのWindowsバージョンで標準のWindowsテーマが付属しています。あなたは、次の手順でAeroテーマを持つことができます。

出典:http://mrpmorris.blogspot.com/2008/05/using-vista-aero-theme-in-xp-wpf-apps.html

編集しApp.xamlを必要とするアプリケーションの参照リストにPresentationFramework.Aeroを追加

<Application.Resources> 
    <ResourceDictionary> 
    <!-- Put your stuff here instead --> 

    <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/> 
    </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

その他のオプション次のとおりです。

<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/> 
<ResourceDictionary Source="/PresentationFramework.Classic;component/themes/Classic.xaml"/> 
<ResourceDictionary Source="/PresentationFramework.Royale;component/themes/Royale.NormalColor.xaml"/> 
<ResourceDictionary Source="/PresentationFramework.Luna.Homestead;component/themes/Luna.Homestead.xaml"/> 
<ResourceDictionary Source="/PresentationFramework.Luna.Metallic;component/themes/Luna.Metallic.xaml"/> 
<ResourceDictionary Source="/PresentationFramework.Zune;component/themes/Zune.NormalColor.xaml"/> 
+0

こんにちは、ポイントはすでにAero、そして私はWindowsの標準的なテーマにしたいと思います。残りのWPFウィンドウには正しいテーマがありますが、Xceed Extended WPF Toolkitで表示されるMessageBoxはAeroテーマで直接表示されます。 WPF ToolkitがMessageBoxテーマを変更しないようにしたいと思います。 –

関連する問題