Piszę luźno powiązaną aplikację WPF MVVM, a potomne maszyny wirtualne w nadrzędnej maszynie wirtualnej są interfejsami, a nie instancjami klasy, np.Jak powiązać typ danych DataTemplate z interfejsem?
public IChildViewModel { get; set; }
Teraz, jak mogę renderować tę właściwość za pomocą DataTemplate? jak:
<DataTemplate DataType="{x:Type contracts:IChildViewModel}">
Rozumiem, ze względu na charakter interfejsów (wielokrotne dziedziczenie itp) WPF nie pozwalają na to bezpośrednie wiązanie. Ale jako że interfejsy powinny być szeroko stosowane w luźno powiązanych aplikacjach, czy istnieje sposób obejścia problemu DataTemplate z interfejsami? Dzięki.
Co powiesz na użycie 'ContentControl', który ustawia' ContentTemplate' w oparciu o 'DataTrigger', który przekazuje DataContext i Interface do' IValueConverter'? Następnie można przetestować, czy wartość jest typu przekazanego z parametrem, i czy True używa odpowiedniego DataTemplate – Rachel