Я использую Prism 4.0 в проекте wpf.Я [Экспортирую] мои ViewModel с именами контрактов и импортирую их в мои Views.
Недавно я нашел 4 View, которые были идентичными, но имели 2 разных ViewModel с одинаковым интерфейсом.Единственной разницей были названия их экспортных контрактов.Можно ли каким-либо образом изменить рефакторинг на 1 View с двумя экспортами с оператором Import, который выбирает ViewModel на основе имени контракта?
[Export("ContractName1"), typeof(IView))]
[Export("ContractName2"), typeof(IView))]
public partial class MyView: UserControl : IView {
[Import]
IViewModel ViewModel
{
get { return this.DataContext as IViewModel; }
set { this.DataContext = value; }
}
}
и моих моделей представления:
[Export("ContractName1"), typeof(IViewModel))]
public class MyViewModel1 : IViewModel
[Export("ContractName2"), typeof(IViewModel))]
public class MyViewModel2 : IViewModel