2017-03-09 1 views
1

Ich benutze benutzerdefinierte MessageBox in meiner Anwendung und ich muss meinen App-Stil darauf anwenden. So verwende ich WPF Toolkit meine MessageBox zu erstellen, und ich bin ein MessageBoxStyle meiner MessageBox Anwendung:Standard-Windows-Design für MessageBox mit Extended WPF Toolkit

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> 

Das Problem ist, dass es zeigt die Grund Windows Vista-Fensterdesign Ich möchte, dass meine MessageBox das tatsächliche Windows-Design des Computers erhält (meines ist Windows Server 2008 R2 E, aber es kann sich ändern, wenn das Programm auf einem anderen Computer ausgeführt wird).

Gibt es eine Möglichkeit, dieses Windows-Thema "standardmäßig" festzulegen?

Antwort

0

WPF enthält die Windows-Standardthemen für alle Windows-Versionen. Sie können mit folgenden Schritten Aero Thema haben:

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

hinzufügen PresentationFramework.Aero zu Ihrer Anwendung Referenzliste als

Bearbeiten Sie Ihre App.xaml erfordert

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

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

Andere Optionen sind:

<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

Hallo, der Punkt ist, dass es ist schon Aero, und ich möchte, dass es das Standard-Windows-Thema ist. Der Rest meiner WPF-Fenster hat das richtige Thema, aber meine MessageBoxes, die mit Xceed Extended WPF Toolkit angezeigt werden, werden direkt mit Aero-Design angezeigt. Ich möchte verhindern, dass WPF Toolkit mein MessageBox-Design ändert. –

Verwandte Themen