2012-01-19 53 views
1

私は最近MS Prismを使用して新しいプロジェクトを開始しました。私のUIモジュールの1つに、私はSO、私はそれを行うには、このコードを書いた..私はアプリケーションのリソースディクショナリに追加する必要があり、リソースファイルを持っている:私のリソースファイルで'System.Windows.Setter'の初期化で例外がスローされました

uri = new Uri(string.Format(@"pack://application:,,,/{0};component/{1}", 
          "namespacename", 
          "Resources.xaml")); 
       Application.Current.Resources.MergedDictionaries 
        .Add(new ResourceDictionary 
        { 
         Source = uri, 
        }); 

、私はDataTemplateのためにセッターを持っていますそれのようになります。

<DataTemplate.Triggers> 
     <DataTrigger Binding="{Binding State}" Value="Modified"> 
      <Setter TargetName="img" Property="Source" Value="../Images/ICO/Modify.ico"/> 
     </DataTrigger> 
     <DataTrigger Binding="{Binding State}" Value="Added"> 
      <Setter TargetName="img" Property="Source" Value="../Images/ICO/Add.ico" /> 
     </DataTrigger> 
    </DataTemplate.Triggers> 

問題は、それがスローロードリソースファイルにある「『System.Windows.Setter』の初期化が例外をスローしました。」 しかし、私はこのセッターを削除すると、正常に動作します。 アイデア?

答えて

0

Imは何らかのテストを行う必要があります。しかし、画像へのパスを次のような絶対パスに変更してみてください。pack://application:,,,/{0};component/Images/ICO/Modify.ico

+0

ありがとうございます。 – Poseidon

関連する問題