Как новичок в WPF, я хотел бы уточнить мой подход к созданию пользовательского интерфейса в WPF.Я использую WPF с MVVM.Мой подход заключается в использовании главного окна, которое содержит пользовательские элементы управления, которые могут работать на нескольких уровнях в глубине дерева пользовательского интерфейса.Например, у меня есть редактор в окне.Многие элементы можно редактировать в редакторе, а пользовательский интерфейс для каждого элемента различен, но редактор всегда показывает кнопки «ОК» и «Отмена».Таким образом, главное окно редактора с OK и Отмена может быть разделено между несколькими редакторами.Я проектирую приложение таким образом, чтобы пользовательский элемент управления редактора просто связывал модель представления для редактируемого элемента.Таким образом, при разработке пользовательского интерфейса для редактирования отдельных элементов кнопка «ОК» или «Отмена» не тянется, а просто помещается элемент в главный редактор, который будет предоставлять кнопки.Я почти уверен, что могу правильно обрабатывать команды с помощью инфраструктуры команд WPF.
Если я смогу прояснить это с помощью некоторого xaml, то вот оно. Пожалуйста, не возражайте против размещения элементов управления, я хочу объяснить основную идеюсовместное использование общего пользовательского интерфейса для многих элементов.
<UserControl Name="EditorMainWindow">
<Grid>
<StackPanel>
<ItemsControl ItemsSource="{Binding ItemToBeEdited}">
</ItemsControl>
<Button Content="OK" Width="120" Command="{Binding SomethingforOK}" />
<Button Content="Cancel" Width="120" Command="{Binding SomethingforCancel}"/>
</StackPanel>
</Grid>
</UserControl>
Как я это делаю, дерево пользовательского интерфейса может пройти несколько уровней.Я получу огромную выгоду, потому что, если клиент попросит изменить пользовательский интерфейс в одном конкретном месте, мне не нужно получать и изменять его во многих местах (при условии, что он является общим).
Поскольку я новичок в WPF, яхотел бы знать, есть ли улов в этом подходе.Не могли бы вы сказать мне, имеет ли это смысл или нет?