Я хочу, чтобы содержимое строки таблицы (не DataGrid) было привязано к данному свойству DataContext.Другими словами, я хочу, чтобы UserControl, который появляется в, скажем ... строке 0 моей таблицы, изменился, когда свойство XX DataContext изменится с UserControl на другой UserControl.Любая идея, как это сделать?
То, что я пытаюсь достичь, - это слабая пара пользовательского интерфейса, состоящая из оболочки (главного окна) с заполнителями, но с возможностью разрешать изменять содержимое таких заполнителей с любогозаполнителей, как?хорошо, связывая некоторые команды элементов управления заполнителями с Команды Shell DataContext (ShellViewModel), который по иерархии является DataContext всех элементов управления любого заполнителя, которые не перезаписывают свойство DataContext, затем внутри реализации таких команд измените XX.
Точнее говоря, я хочу, чтобы элементы управления навигацией (UI) моих приложений могли быть легко изменены, не влияя на семантику навигации, и единственное, что приходит в голову моему новичку после прочтения о MVVM, - это вышеуказанный подход.У тебя есть идея получше?Это правильно или слишком слабо пара;)
Я добавил эту часть после первого ответа:
Шаблон данных не заполняет счет.Зачем?Что ж, просто, с шаблоном данных Shell должна знать заранее все возможные части элементов пользовательского интерфейса, которые будут составлять пользовательский интерфейс приложения (представления, которые обычно принимают форму UserControls), и идея здесь заключается в том, чтобы этого избежать.Идея состоит в том, чтобы создать оболочку с заполнителями, и чтобы оболочка предоставляла команды через свой DataContext (ViewModel оболочки) любому из компонентов пользовательского интерфейса UNKNOWN AT FRONT , которые будут заполнять такие заполнители.Такие команды можно рассматривать как своего рода API / интерфейс, используемый для взаимодействия с навигационной системой.
После более подробного изучения у меня возникает идея, что один ОТВЕТ может быть чем-то вроде следующего:
<ContentControl Grid.Row="0">
<Binding Path="CurrentView"/>
</ContentControl>