Ошибка ObjectDataProvider при нахождении классов призмы и параметров конструктора

Я пытаюсь переместить объекты из моего кода в мои ресурсы в XAML.

Я хочу переместить эти объекты

public partial class MainView : Window
{

    public EventAggregator IEA;
    public OrderViewModel order { get; set; }
    public MenuViewModel menu { get; set; }

    public MainView()
    {
        InitializeComponent();
        this.DataContext = this;

        IEA = new EventAggregator();

        order = new OrderViewModel(IEA);

        menu = new MenuViewModel(IEA);

    }

}

сюда

<Window.Resources>
    <ObjectDataProvider x:Key="IEA" d:IsDataSource="True" ObjectType="{x:Type Prism.Events:EventAggregator}"/>
    <ObjectDataProvider x:Key="OVM" d:IsDataSource="True" ObjectType="{x:Type local:OrderViewModel}">
        <ObjectDataProvider.ConstructorParameters>
            <StaticResource ResourceKey="IEM"/>
        </ObjectDataProvider.ConstructorParameters>
    </ObjectDataProvider>
    <ObjectDataProvider x:Key="MVM" d:IsDataSource="True" ObjectType="{x:Type local:MenuViewModel}">
        <ObjectDataProvider.ConstructorParameters>
            <StaticResource ResourceKey="IEM"/>
        </ObjectDataProvider.ConstructorParameters>
    </ObjectDataProvider>
</Window.Resources>

Но, очевидно, я неправильно ссылаюсь на класс EventAggregator из Prism, потому что я получаю следующую ошибку:

Error: 'Prism.Events' is an undeclared namespace

1 ответ

Решение

Для меня это работает:

xmlns:prismEvents="clr-namespace:Prism.Events;assembly=Prism"


<ObjectDataProvider x:Key="IEA"
                        d:IsDataSource="True"
                        ObjectType="{x:Type prismEvents:EventAggregator}" />
Другие вопросы по тегам