Я пытаюсь динамически изменять UserControl
виды, которые определены в ObservableCollection
.Динамические представления в WPF
public class MItem : INotifyPropertyChanged
{
private UserControl _mView;
public UserControl MView
{
get { return _mView; }
set
{
if (_mView != value)
{
_mView = value;
OnPropertyChanged("MView");
}
}
}
...
}
В отдельном окне у меня есть:
ObservableCollection<MItem> _items = new ObservableCollection<MItem>;
_items.Add(new MItem{MView = MyView});
Очевидно, что когда речь идет о создании нового объекта этой точки зрения, а затем назначить ее ребенку на сетке приходит, чтобы быть проблема - это Я дам ошибку типа.
Я пытался что-то вроде:
_items[0].MView = new UserControl(); // I know this wouldn't work
Мой главный вопрос, кто-нибудь пытался реализации что-то вроде этого, и как вы получите вокруг него?
Благодаря
Это противоречит всем, что означает MVVM. У вас не должно быть ссылок на какие-либо элементы пользовательского интерфейса в 'ObservableCollection'. Создайте 'ObservableCollection' вместо этого, а затем используйте надлежащие 'DataTemplates', чтобы отобразить их на экране. –