WPF使用绑定将网格行设置为动态XAML对象

WPF使用绑定将网格行设置为动态XAML对象,wpf,data-binding,mvvm,navigation,Wpf,Data Binding,Mvvm,Navigation,我希望将网格行(不是DataGrid)的内容绑定到给定的DataContext属性。换句话说,我希望出现在中的UserControl,比如说。。。我的网格的第0行,当DataContext属性XX从一个UserControl更改为另一个UserControl时更改。你知道怎么做吗 我试图实现的是一个松散耦合的UI,它由一个带有占位符的Shell(主窗口)组成,但是能够允许从任何占位符更改此类占位符的内容,如何实现?好的,将一些占位符控件的命令绑定到Shell DataContext的命令(She

我希望将网格行(不是DataGrid)的内容绑定到给定的DataContext属性。换句话说,我希望出现在中的UserControl,比如说。。。我的网格的第0行,当DataContext属性XX从一个UserControl更改为另一个UserControl时更改。你知道怎么做吗

我试图实现的是一个松散耦合的UI,它由一个带有占位符的Shell(主窗口)组成,但是能够允许从任何占位符更改此类占位符的内容,如何实现?好的,将一些占位符控件的命令绑定到Shell DataContext的命令(ShellViewModel),即通过层次结构将任何占位符的所有控件的DataContext绑定到不覆盖DataContext属性的位置,然后在此类命令的实现中更改XX

更具体地说,我希望我的应用程序的导航控件(UI)可以在不影响导航语义的情况下轻松更改,而我的新手在了解MVVM后唯一想到的就是上述方法。你有更好的主意吗?这是正确的还是过于松散的结合;)

我在第一次答复后添加了这一部分:

数据模板不能填充账单。为什么?很简单,有了数据模板,Shell必须首先知道组成应用程序UI的UI元素的所有可能部分(通常采用UserControls形式的视图),这里的想法是避免这种情况。其思想是使用带有占位符的Shell,并且Shell通过其DataContext(Shell的ViewModel)将命令公开给将填充此类占位符的任何未知的前端ui组件。这些命令可以看作是一种用于与导航系统交互的API/接口

经过更多的研究,我得到了一个想法,因此一个答案可以是如下所示:

<ContentControl Grid.Row="0">
    <Binding Path="CurrentView"/>
 </ContentControl>


我不确定是否完全理解您的问题,但a可能就是您想要的。在您的情况下,返回的模板将根据当前的
DataContext
进行更改,模板将包含repspective
UserControl

,我不确定是否完全理解您的问题,但a可能是您要找的。在您的情况下,返回的模板将根据当前的
DataContext
进行更改,模板将包含repspective
UserControl

感谢您的回复,我在问题的末尾补充了一些关于为什么数据模板不填写账单的说明。感谢您的回复,我在问题的末尾补充了一些关于为什么数据模板不能在这里填写账单的澄清。