2017-01-30 3 views
0

Ich implementiere derzeit das Drucken mit Threading. Bis jetzt gibt es (fast) keine Probleme.
Ich war eine Weile mit XAML parse Ausnahmen fest, obwohl ich es durch Hinzufügen von ResourceDictionaries zu der Ansicht, die ich drucken möchte behoben. Die Ansicht wurde anscheinend versuchen, die ResourceDictionaries, die in app.xaml des Testprojekts in seinem InitializeComponent Aufruf definiert werden, zu laden.
Wir verwenden Themen, die zur Laufzeit geändert werden können. Sie haben auch einige globale Stile.Verhindern, dass UserControl ResourceDictionaries lädt

Nun zur Frage ... ist es eine Möglichkeit, die UserControl aus dem Laden die ResourceDictionaries in app.xaml oder von einem anderen Ort in InitializeComponent definiert verhindern kann?

Grundsätzlich verwenden alle Ansichten in der Anwendung das aktuelle Thema mit Stilen, und die UserControl s zum Drucken sollte keinen Stil und keine ResourceDictionary überhaupt verwenden.

+2

Die Art und Weise Wörterbücher Arbeit ist, dass ist, dass sie die visuelle Struktur so kaskadieren, wenn Ihr Steuer ein Wörterbuch mit dem richtigen Schlüssel hat diesen Wert zurückgegeben, wenn nicht, dann fragt es die Eltern und dann die Eltern Eltern, und so weiter, bis es die App trifft, so können Sie nicht verhindern, dass es von der App geladen wird, aber Sie können die Ressourcen der App lokal überschreiben – MikeT

Antwort

0

Ich "löste" das Problem, indem ich ein neues Thema erstellte, das standardmäßig alle verwendeten Steuerungsstile überschreibt. Nur unter Verwendung dieser ResourceDictionary in den UserControl Ressourcen werden WPF-Standardstile verwendet.

<UserControl.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="/MyAssembly;component/Themes/Theme.Nothing.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</UserControl.Resources> 

Ein paar Zeilen der ResourceDictionary:

<Style TargetType="{x:Type Slider}"/> 
<Style TargetType="{x:Type TabControl}"/> 
<Style TargetType="{x:Type TabItem}"/> 
<Style TargetType="{x:Type TextBlock}"/> 
<Style TargetType="{x:Type TextBox}"/> 
<Style TargetType="{x:Type ToolTip}"/> 
Verwandte Themen