gpt4 book ai didi

wpf - 如何从 ItemTemplate XAML 绑定(bind)到 HierarchicalDataTemplate 的 DataContext?

转载 作者:行者123 更新时间:2023-12-04 05:00:53 24 4
gpt4 key购买 nike

在我的 WPF TreeView 中,我定义了 HierarchicalDataTemplate .在其ItemTemplate ,有一个按钮,其Command我需要绑定(bind)到父 ViewModel,这是 DataContext parent 的HierarchicalDataTemplate或者,换句话说,持有集合 SubItems 的 ViewModel在下面的示例中。 ItemTemplate自己的DataContext - SubItem - 用作CommandParameter .

<TreeView ItemsSource="{Binding Items}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding SubItems}">
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<Button Command="??CmdOnDtaCntxtOfHierDtaTmplt"
CommandParameter="{Binding}" />
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>

如何仅在 XAML 中完成此操作?

最佳答案

以下绑定(bind)应该有效:

<Button Command="{Binding DataContext.Command, 
RelativeSource={RelativeSource AncestorLevel=2, AncestorType=TreeViewItem}}"
CommandParameter="{Binding}" />

这将绑定(bind)到与当前 TreeViewItem 的父级 TreeViewItem 关联的 DataContext 的 Command 属性(在您的情况下是保存子项集合的 VM)。

关于wpf - 如何从 ItemTemplate XAML 绑定(bind)到 HierarchicalDataTemplate 的 DataContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16166152/

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