C# 绑定到ViewModel并在可重用的UserControl后面编码

C# 绑定到ViewModel并在可重用的UserControl后面编码,c#,wpf,mvvm,user-controls,prism,C#,Wpf,Mvvm,User Controls,Prism,我创建了一个usercontrolX,用于在PageX视图中多次使用它。 它包含一个按钮和一个文本框,我想将文本框绑定到PageXModelView中的属性,该按钮应该在我的usercontrolXModelView中执行某些操作 问题是,当我将usercontrolX添加到视图中时,我只能将textboxt绑定到usercontrolX隐藏代码中的usercontrolX,而不是在usercontrolXModelView中,才能将其绑定到PageX属性,对于按钮,只有将其绑定到usercon

我创建了一个usercontrolX,用于在PageX视图中多次使用它。 它包含一个按钮和一个文本框,我想将文本框绑定到PageXModelView中的属性,该按钮应该在我的usercontrolXModelView中执行某些操作

问题是,当我将usercontrolX添加到视图中时,我只能将textboxt绑定到usercontrolX隐藏代码中的usercontrolX,而不是在usercontrolXModelView中,才能将其绑定到PageX属性,对于按钮,只有将其绑定到usercontrolXModelView中的属性时,它才能工作,那么,有没有一种解决方案可以将usercontrolX绑定到usercontrolXModelView和usercontrolX后台代码

以下是项目: 视图:UserControlX,页面,主窗口

模型视图:UserControlXMV、PageMV、MainWindowMV

< UserControl x:Class="APPia.Views.Usercontrolx" mc:Ignorable="d"  Name="Usercontrolx">
    < Button Name="B1" Content="Button" Command="{Binding UpdateCommandx, Mode=OneWay}"/>
    < Label Name="L21" Content="{Binding Path=propX,ElementName=Usercontrolx}"/>
</UserControl>


<UserControl x:Name="PageX"">
<Grid>
<TextBox Text="{Binding persowxn.Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<UserControlX x:Name="Contx1" propX="{Binding persowxn.Name}" />
<UserControlX x:Name="Contx2" propX="{Binding persowxn.Surname}" />
</Grid>
</UserControl>

在用户控件的代码隐藏中,添加依赖项属性。然后将用户控件的标签内容绑定到该依赖项属性。然后将用户控件的依赖项属性绑定到页面的视图模型属性


用户控件中的按钮也是如此…

如果这只是一个按钮和标签,那么将它们放在用户控件中看起来只是让事情复杂化了。如果你能多解释一下这是怎么回事,也许我们能帮你更好。例如,很可能模板化集合更合适。