Prism - один вид с несколькими моделями представления - PullRequest
0 голосов
/ 08 декабря 2011

Я использую 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
...