C# MVVM将选定项从一个usercontrol绑定到另一个usercontrol

C# MVVM将选定项从一个usercontrol绑定到另一个usercontrol,c#,wpf,xaml,mvvm,user-controls,C#,Wpf,Xaml,Mvvm,User Controls,我有两个用户控件: -第一个包含一个树视图 -第二个包含一些字段 我想用usercontrol1中选择的treeviewitem名称更新usercontrol2中的文本框 这是我的主窗口的一部分。xaml <Grid> ... <View:UserControl1 Name="mycontrol1" .../> <View:UserControl2 Name="mycontrol2" DataContext="{Binding ElementName

我有两个用户控件: -第一个包含一个树视图 -第二个包含一些字段

我想用usercontrol1中选择的treeviewitem名称更新usercontrol2中的文本框

这是我的主窗口的一部分。xaml

<Grid> ...
    <View:UserControl1 Name="mycontrol1" .../>
    <View:UserControl2 Name="mycontrol2" DataContext="{Binding ElementName=mycontrol1.CategoryTreeView, Path=SelectedItem}"/>
</Grid>
。。。
这是我的usercontrol1的一部分(“类别”是类别对象的列表):


以下是我的usercontrol2的一部分:

<Grid>
   <TextBox Text="{Binding Name}"/>
</Grid>

我发现了一些示例,其中所有控件(treeview、textbox等)都位于一个xaml文件中,但如果它们位于两个usercontrols中,则不在其中


也许有人可以在这里帮助我?

您可以对两个视图(用户控件)使用相同的视图模型,也可以使用


这两种方法都很有效

这是一种将一个viewmodel用于两个控件的常见方法吗?这是一种方法还是一种方法?是否可以只使用xaml代码进行常规数据绑定,而不添加一些额外的c#代码?我想也许有一种方法可以将datacontext绑定到usercontrol1…我不认为是这样,但是如果可能的话,你不想这样做,因为你不想让你的视图相互交错
<Grid>
   <TextBox Text="{Binding Name}"/>
</Grid>