16 Stimmen

Verwendung von XAML-Vektorgrafiken in einer WPF-Anwendung

Ich habe ein Vektorbild, das ich in XAML definiert habe. Was ist der richtige Weg, um diese Ressource in einer WPF-Anwendung zu verwenden?

Ich möchte das Vektorbild in einer eigenen XAML-Datei haben, und dann das Bild zu anderen UserControls in meiner Anwendung hinzufügen. Was sollte das oberste Element in meinem XAML-Vektorbild sein? Wie kann ich in anderen UserControls auf dieses Bild verweisen?

0 Stimmen

8voto

Lars Truijens Punkte 41774

http://learnwpf.com/post/2006/06/04/How-do-I-Include-Vector-Based-Image-Resources-in-my-WPF-Application.aspx erklärt, wie man es macht.

<ContentControl Template="{StaticResource Credit-Card}" />

1voto

dthrasher Punkte 38508

Es ist extrem schwierig, Vektorgrafiken in WPF und Silverlight wiederverwendbar zu machen.

Diese beiden StackOverflow-Fragen behandeln einige der verfügbaren Optionen:

XAML-Symbole - Wie verwendet man sie?

WPF Was ist der richtige Weg der Verwendung von SVG-Dateien als Symbole in WPF

Nachdem ich mir diese Fragen und Antworten durchgelesen habe, denke ich, dass die beste Lösung darin besteht, bei einem Bitmap-/Rasterformat wie PNG zu bleiben, bis Microsoft beschließt, SVG zu unterstützen.

1voto

Alan Singfield Punkte 136

Hier erfahren Sie, wie Sie dies auf eine wiederverwendbare Art und Weise tun können:

https://github.com/alansingfield/VectorIcon/blob/master/README.md

 <Style x:Key="CarIcon" 
        TargetType="local:VectorIcon">
    <Style.Setters>
      <Setter Property="Geometry">
        <Setter.Value>
          <PathGeometry Figures="M18,18H6V6H18M18,4H6A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V6C20,4.89 19.1,4 18,4Z" />
        </Setter.Value>
      </Setter>
    </Style.Setters>
  </Style>

<local:VectorIcon Style="{StaticResource CarIcon}" Foreground="Green"/>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X