2017-12-22 14 views
0

Gibt es eine Möglichkeit zum automatischen Konvertieren und Kombinieren mehrerer XAML-basierte Objekte in ein einzelnes ResourceDictionary in VS, Blend oder sogar Drittanbieter-App. Hier ist ein Vektor-Bild-Datei ich in eine Ressource verwandelt würden:Wie kombiniere ich eine Menge xaml-basierter Vektorbilddateien in einem einzigen Wörterbuch?

<Canvas Width="94.936523" Height="177.207031" Name="AmericanImage"> 
    <Path Fill="#ff000000" Data="F1 M 67.072266,6.236816 C 67.069336,6.233398 68.373047,2.524414 71.210938,2.522949 C 71.210938,2.521484 75.245117,2.520996 75.248047,2.520996 C 75.248047,2.521484 79.283203,2.521484 79.284180,2.523926 C 82.116211,2.525391 83.424805,6.233887 83.422852,6.238281 C 83.425781,6.269043 84.953125,42.543457 84.953125,42.543457 L 65.763672,42.540527 C 65.763672,42.540527 67.072266,6.241699 67.072266,6.236816 Z"/> 
</Canvas> 

Es ist schön sein, würde der rechten Maustaste auf die Datei und wählen Sie so etwas wie „Zum Wörterbuch hinzufügen ...“ und es würde automatisch einen Schlüssel hinzufügen und fügen Sie es entweder inline in das Datenwörterbuch ein oder verknüpfen es mit einer Datei. Gibt es so etwas? Es ist kaum zu glauben, dass ResourceDictionaries manuell erstellt werden müssen.

Antwort

0

Es gibt nur wenige Möglichkeiten:

1) Die Verwendung von Datenvorlage Sie Ihr Bild in Datatemplate Verpackung und dann wie folgt verwenden:

<DataTemplate x:Key="TheIcon"> 
    <Canvas Width="94.936523" Height="177.207031" Name="AmericanImage"> 
     <Path Fill="#ff000000" Data="F1 M 67.072266,6.236816 C 67.069336,6.233398 68.373047,2.524414 71.210938,2.522949 C 71.210938,2.521484 75.245117,2.520996 75.248047,2.520996 C 75.248047,2.521484 79.283203,2.521484 79.284180,2.523926 C 82.116211,2.525391 83.424805,6.233887 83.422852,6.238281 C 83.425781,6.269043 84.953125,42.543457 84.953125,42.543457 L 65.763672,42.540527 C 65.763672,42.540527 67.072266,6.241699 67.072266,6.236816 Z"/> 
    </Canvas> 
</DataTemplate> 

Und dann wie nutzen diese

<ContentControl ContentTemplate="{StaticResource TheIcon}"/> 

2) Fast gleich, aber Sie sparen im Wörterbuch nur Geometrie

<ResourceDictionary> 
    <Geometry x:Key="Geometry"> 
      F1 M 67.072266,6.236816 C 67.069336,6.233398 68.373047,2.524414 71.210938,2.522949 C 71.210938,2.521484 75.245117,2.520996 75.248047,2.520996 C 75.248047,2.521484 79.283203,2.521484 79.284180,2.523926 C 82.116211,2.525391 83.424805,6.233887 83.422852,6.238281 C 83.425781,6.269043 84.953125,42.543457 84.953125,42.543457 L 65.763672,42.540527 C 65.763672,42.540527 67.072266,6.241699 67.072266,6.236816 Z 
     </Geometry> 
</ResourceDictionary> 

und Nutzung:

<Canvas Width="94.936523" Height="177.207031" Name="AmericanImage"> 
    <Path Data="{StaticResource Geometry}"/> 
</Canvas> 

auch können Sie Lösung # 2 in eigene Kontrolle packen.

+0

Danke. Wie kann ich das Bild an ein Steuerelement binden? Angenommen, ich habe eine Produktliste in einer Datenbank und ihre Vektorbilder befinden sich in einem Wörterbuch. Wie binde ich Produkt A dynamisch mit Bild B? –

Verwandte Themen