2016-07-22 11 views
1

C:\Users\StrangeUser\documents\visual studio 2012\Projects\WPFGO\WPFGO\Resources\New.png{x:Static icons:New.png} に置き換えようとしていますが、動作しません。New does not exists int namespace clr-namespace:WPFGO.Resourcesそれを修正するには?WPF xamlソースパス

のxmlns:アイコン= "CLR名前空間: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

:プロパティセクションの値は次のようになります。 .com/en-us/library/aa970069(v = vs.100).aspx)? –

答えて

2

は、トップレベルのリソースタグ

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

にこれを追加して、次のことができるようになりますdo

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

しかし、ディレクトリを変更する必要がある場合はどうすればよいですか?それは動作するはずですか? – A191919

+0

@ A191919 UriSourceを更新する必要がありますが、その場ではなく一度だけ行う必要があります。 。\ myImage.pngのような相対パスも使用できます。 – Steve

+0

リソースは '{StaticResource key}'で参照され、 '{x:Static key} 'では参照されません。 –

0

irこれらのリソースをより簡単に管理する方法が必要でした。 VSの外部からファイルディレクトリ階層を制御しようとしている場合は、プロパティファイルを利用することができます。 VSで

  1. プロパティに行く - あなたのプロジェクトファイルに>リソース。
  2. 名前の値(参照するもの)を割り当てる必要があります。 myResource、問題のファイルの実際の場所、および必要に応じてコメント。
  3. ファイルを保存し、プロパティをXAMLと同期させるためにプロジェクトを再構築します。

今、あなたはこのようなプロジェクトのプロパティを参照する機能を持っている:

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

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

これについてきちんとした部分は、単にリソースファイル内の位置を変更する機能を取得することになります。 XAMLはあなたのためにUriを構築するだけでなく、開発者としてあなたのために少しだけ簡単にします。

更新:

それはあなたがResourcesフォルダの下にVS(WPFGO \リソース\ New.png)にリソースを追加しているように見えます。私はあなただけで使用することはありません、なぜ何か、[パッケージのURIの](https://msdn.microsoftが欠落しなければならない

/Resources/New.png