gpt4 book ai didi

c# - MVVM 将选定项从一个用户控件绑定(bind)到另一个

转载 作者:行者123 更新时间:2023-12-03 10:46:36 24 4
gpt4 key购买 nike

我有两个用户控件:
- 第一个包含 TreeView
- 第二个包含一些字段。

我想用从 usercontrol1 中选择的 treeviewitem-name 更新 usercontrol2 中的文本框。

这是我的 mainWindow.xaml 的一部分...

<Grid> ...
<View:UserControl1 Name="mycontrol1" .../>
<View:UserControl2 Name="mycontrol2" DataContext="{Binding ElementName=mycontrol1.CategoryTreeView, Path=SelectedItem}"/>
</Grid>

这是我的 usercontrol1 的一部分(“类别”是类别对象的列表):
<TreeView Name="CategoryTreeView" x:FieldModifier="public" ItemsSource="{Binding Categories}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Categories}">
<TextBlock FontWeight="Bold" Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>

这是我的 usercontrol2 的一部分:
<Grid>
<TextBox Text="{Binding Name}"/>
</Grid>

我发现了所有控件( TreeView 、文本框、...)都在一个 xaml 文件中但不是在两个用户控件中的示例。

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

最佳答案

您可以为两个 View (用户控件)使用相同的 Viewmodel,也可以使用 event aggregation

两种方式都运作良好

关于c# - MVVM 将选定项从一个用户控件绑定(bind)到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23467627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com