2016-07-22 6 views
1

Ich versuche, C:\Users\StrangeUser\documents\visual studio 2012\Projects\WPFGO\WPFGO\Resources\New.png durch {x:Static icons:New.png} ersetzen, aber es funktioniert nicht New does not exists int namespace clr-namespace:WPFGO.Resources. Wie man es repariert?WPF xaml Quellpfad

xmlns: Icons = "clr-namespace: WPFGO.Resources"

<UserControl.Resources> 
     <Style x:Key="CreateIconButton"> 
      <Setter Property="Control.Template"> 
       <Setter.Value> 
        <ControlTemplate> 
         <!--<Image Source="{x:Static icons:New.png}"></Image>--> 
         <Image Source="C:\Users\StrangeUser\documents\visual studio 2012\Projects\WPFGO\WPFGO\Resources\New.png" Height="15" /> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </UserControl.Resources> 
+0

Ich muss etwas fehlen, warum würden Sie nicht verwenden, nur [Packung Urner] (https://msdn.microsoft .com/de-de/library/aa970069 (v = vs.100) .aspx)? –

Antwort

2

Fügen Sie diese auf einem Top-Level-Ressource-Tag

<BitmapImage x:Key="somekey" UriSource="..." /> 

und dann werden Sie in der Lage sein do

<Image Source="{StaticResource somekey}"/> 
+0

Aber was, wenn sich das Verzeichnis ändern sollte? Es sollte funktionieren? – A191919

+0

@ A191919 Sie müssen die UriSource aktualisieren, aber Sie müssen dies nur einmal statt überall tun. Sie können auch den relativen Pfad verwenden. \ MyImage.png – Steve

+0

Ressourcen werden mit '{StaticResource key}', nicht '{x: Static key}' referenziert. –

0

I r in ein ähnliches Problem wie diese und wollte einen einfacheren Weg, um diese Ressourcen zu verwalten. Angenommen, Sie steuern die Dateiverzeichnishierarchie von außerhalb von VS, können Sie die Eigenschaftendatei zu Ihrem Vorteil verwenden.

  1. In VS gehen Sie zu Eigenschaften -> Ressourcen in Ihrer Projektdatei.
  2. Sie müssen einen Namen-Wert zuweisen (was Sie referenzieren werden), z. myResource, der tatsächliche Speicherort der fraglichen Datei und ggf. ein Kommentar.
  3. Gehen Sie voran und speichern Sie die Datei, und erstellen Sie das Projekt neu, um die Eigenschaften mit XAML zu synchronisieren.

Jetzt haben Sie die Möglichkeit, Eigenschaften in einem Projekt wie dieser verweisen:

xmlns:prop="clr-namespace:WPFGO.Properties" 

<Image Source="{Binding Source={x:Static prop:Resources.myResource}}"/> 

Das schmucke Teil dazu würde die Fähigkeit seines Erhalt die Lage in nur die Ressourcen-Datei zu ändern. XAML wird den Uri auch für dich erstellen und es für dich als Entwickler etwas einfacher machen.

Update:

Es sieht aus wie Sie die Ressource VS (WPFGO \ Resources \ new.png) unter dem Ordner Ressourcen hinzugefügt haben. Der Wert in dem Abschnitt Eigenschaften wie folgt aussehen könnte:

/Resources/New.png