【发布时间】:2011-12-27 09:33:57
【问题描述】:
我正在尝试从 DataTemplate 中绑定到容器的属性。我的标记的简化版本如下所示:
<Grid>
<Grid.Resources>
<DataTemplate DataType="{x:Type myCustomItem}">
<!--Visual stuff-->
<StackPanel>
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="Add Item"
Command="{Binding myCustomItemsICommand}"
CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type CustomContainerType}}, Path=ContainerProperty}"/>
</ContextMenu>
</StackPanel.ContextMenu>
</StackPanel>
</DataTemplate>
</Grid.Resources>
<CustomContainerType/>
</Grid>
我的方法基于this post,但它似乎不起作用。该问题似乎是由于 ContextMenu 在可视化树中的放置引起的。基本上我正在尝试将 Command 绑定到 DataTemplate 的 DataContext,但将 CommandParameter 绑定到 DataTemplate 之外的 DataContext。
【问题讨论】:
标签: wpf xaml data-binding datatemplate