Frage

Ich habe etwas XAML, um ein Logo zu zeichnen, und ich möchte dies in verschiedenen anderen XAML-Dateien wiederverwenden (es hat keine Benutzeroberfläche und benötigt keinen Code). Die obere Ebene des Logos XAML ist a Canvas Artikel.

Um das Logo in anderen XAML -Dateien zu verwenden, definieren Sie dieses Logo am besten als Element in a ResourceDictionary oder erstellen a UserControl?

Das scheint mit a einfach zu sein UserControl, Allerdings möchte ich meine XAML -Dateien mit XAMLreader einladen, damit ich es vorziehen würde, Ressourcen zu verwenden, damit diese innerhalb des XAML angegeben werden können. Es scheint möglich, Artikel wie a zu speichern Canvas in einem ResourceDictionary Aber ich bin mir nicht sicher, wie ich sie verweisen soll.

Zum Beispiel kann ich mein Logo als definieren ResourceDictionary Element wie folgt:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Canvas x:Name="LayoutRoot" x:Key="Logo">
        <!-- My Logo -->
    </Canvas>
</ResourceDictionary>

Aber wie kann ich das verwenden? Logo In meinen anderen XAML -Dateien habe ich vielleicht die falsche Vorstellung von Ressourcen?

War es hilfreich?

Lösung

Ich fand, dass die Lösung ein Visualbrush ist. Ich kann dies im Ressourcenschutz wie folgt definieren:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<VisualBrush x:Key="Logo">
    <VisualBrush.Visual>
<Canvas x:Name="LayoutRoot" x:Key="Logo"> 
               <!-- My Logo --> 
             </Canvas> 

Verwenden Sie dann diesen Visualbrush, wo dies erforderlich ist.

Andere Tipps

Wenn Sie dafür ein Ressourcenwörterbuch erstellen möchten, würden Sie in der Regel einen Stil erstellen. Sie können dann eine Steuerung fallen lassen und mit Ihrer Ressource in jeder anderen XAML -Datei, die Sie gewünscht haben, stylen.

Ein UserControl wäre jedoch möglicherweise eine einfachere Option, da es sich um ein einfaches, wiederverwendbares Element handelt, das Sie überall einleiten könnten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top