2016-04-27 22 views
0

MVVMアプリケーションがあり、ビューを別のビューで再利用したい場合、両方のビューがユーザーコントロールです。UserControlのUserControl:リソースを見つけることができません

<Button Command="{Binding ChangeInitCommand}"> 
    <Image> 
     <Image.Style> 
      <Style TargetType="{x:Type Image}"> 
       <Setter Property="Source" Value="pack://application:,,,/images/Init-32.png" /> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding IsInit}" Value="True"> 
         <Setter Property="Source" Value="pack://application:,,,/images/Deinit-32.png" /> 
        </DataTrigger> 
        <Trigger Property="IsEnabled" Value="False"> 
         <Setter Property="Opacity" Value="0.5" /> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
     </Image.Style> 
    </Image> 
</Button> 

は、もともと私は<Image Source="/Images/Init-32.png">を持っていましたが、それは同じ問題を作り出した:どこか私はこれを持っている最初のユーザーコントロールのXAMLで

2番目のユーザーコントロールでこのusercontrolを使用すると、デザイナーにエラーが表示されます。「最初のユーザーコントロール」のインスタンスを作成できません。 InnerExeption:リソース 'images/init-32.png'を見つけることができません

この2番目のusercontrol内に最初のusercontrolを置かないと、すべて正常に動作します。イメージのビルドアクションは 'リソース'です。

どうすればこのエラーを取り除くことができますか?

答えて

0

アセンブリを含むようにパックURIを変更します。詳細については、https://msdn.microsoft.com/en-us/library/aa970069(v=vs.100).aspxを参照してください。

<Setter Property="Source" Value="pack://application:,,,/WpfApplication49;component/images/Init-32.png" /> 

WpfApplication49をアセンブリ名に置き換えます。

関連する問題