Я работаю над проблемой, когда у меня есть два вложенных TabControls. Оба должны связываться с коллекцией.
Элемент управления родительской вкладки должен связываться с коллекцией, называемой устройствами.
Эта коллекция устройств должна содержать несколько ObservableCollections разных типов, которые должны по-разному отображаться в ContentTemplate.
Я пробовал что-то вроде этого:
public ObservableCollection<CellPhone> CellPhones { get; set; }
public ObservableCollection<Watch> Watches { get; set; }
public ObservableCollection<ObservableCollection<DeviceItem>> Devices { get; set; }
Watch
и CellPhone
наследуются от DeviceItem
.
Я попробовал следующее:
CellPhones = new ObservableCollection<CellPhone>();
Watches = new ObservableCollection<Watch>();
Devices = new ObservableCollection<ObservableCollection<DeviceItem>>();
Devices.Add(CellPhones); // it fails here...
Там написано:
cannot convert from 'System.Collections.ObjectModel.ObservableCollection<CellPhone>' to 'System.Collections.ObjectModel.ObservableCollection<DeviceItem>'
Я понимаю это сообщение об ошибке, но я не нашел обходного пути.
Я читал о ковариации в c #, но, видимо, это не работает для ObservableCollections.
У вас есть другая идея, как решить эту проблему?