Инициализация 'System.Windows.Setter' вызвала исключение - PullRequest
1 голос
/ 19 января 2012

Я недавно начал новый проект с использованием MS Prism. в одном из моих модулей пользовательского интерфейса у меня есть файл ресурсов, который мне нужен, чтобы добавить их в словарь ресурсов приложения. Итак, я написал этот код для этого:

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

В моих файлах ресурсов есть Setter for 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 »вызвала исключение». но когда я удаляю этот сеттер, он работает нормально. Любая идея?

1 Ответ

0 голосов
/ 19 января 2012

Мне нужно сделать тест. Но вы можете попробовать изменить пути к изображениям на абсолютный путь, например: pack://application:,,,/{0};component/Images/ICO/Modify.ico

...