1

最近、MS Prism を使用して新しいプロジェクトを開始しました。私のUIモジュールの1つに、アプリケーションリソースディクショナリに追加する必要があるリソースファイルがあります..だから私はそれを行うためにこのコードを書きました:

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' の初期化で例外がスローされました」というメッセージがスローされることです。しかし、このセッターを削除すると、正常に動作します。何か案が?

4

1 に答える 1

0

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

于 2012-01-19T07:02:02.530 に答える