По мере того, как я устраняю все больше и больше проблем, связанных с MVVM, с моим текущим приложением, все больше и больше появляются.:)
Текущая реализация, которую я пытаюсь заменить, включает в себя StackPanel, чьи дочерние элементы генерируются более или менее динамически (путем просмотра файла конфигурации).Каждый дочерний элемент является экземпляром UserControl.Раньше я назначал имя StackPanel, а затем в обработчике событий Window_Loaded я просто определял необходимое количество дочерних элементов, создавал по одному UserControl для каждого, а также назначал UserControl ID, чтобы я зналправильный источник для кнопок, нажимаемых на конкретный экземпляр UserControl;Каждый UserControl имеет 3 кнопки.
Так что я знаю, что хочу связать StackPanel с коллекцией.Это, конечно, невозможно, так как мне нужно использовать что-то, производное от ItemsControl, например ListBox или ListView (или даже самого ItemsControl).Чтобы было проще в первой итерации MVVM-ifying, я просто буду использовать ListBox.
Теперь вопрос в том, должен ли мой ObservableCollection в коде позади быть ObservableCollection?Я считаю, что это означает, что независимо от того, как я работаю со своим графическим интерфейсом, в этом ListBox всегда будут дочерние элементы, которые выглядят так же, как и в файле XAML MyUserControl.Я бы хотел, чтобы это также можно было настраивать, но я предполагаю, что это означает, что мне нужно применить шаблон MVVM и к UserControl.