Ошибка 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}" />