.net WPF绑定相关资源问题
我使用FindAncestor和AncestorLevel=3来访问顶层标记,该标记应该有viewModel relay命令,但它不起作用。如果我做错了,有什么建议吗?或者有什么方法可以调试这个场景.net WPF绑定相关资源问题,.net,wpf,xaml,mvvm,.net,Wpf,Xaml,Mvvm,我使用FindAncestor和AncestorLevel=3来访问顶层标记,该标记应该有viewModel relay命令,但它不起作用。如果我做错了,有什么建议吗?或者有什么方法可以调试这个场景 <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Bind
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding name}" Cursor="Hand"
Foreground="Blue" TextDecorations="Underline">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDown">
<cmd:EventToCommand Command="{Binding NameClickCommand, RelativeSource={RelativeSource FindAncestor, AncestorType=Grid, AncestorLevel=3}}"
MustToggleIsEnabled="True" PassEventArgsToCommand="True"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
您正在寻找层次结构上的第三个
网格--
这就是您想要的吗
请注意,
Grid
不包括DataGrid
似乎您正在将命令绑定到网格上名为NameClickCommand的属性。网格没有此属性,请尝试将其更改为
Command="{Binding Path=DataContext.NameClickCommand...
如果NameClickCommand位于网格的DataContext中那么一些特定的代码如何,这样我们就不必使用我们的玻璃球了?快速查看xaml后的一种预感。您似乎正在将命令绑定到
网格上名为NameClickCommand
的属性<代码>网格
没有此属性,请尝试将其更改为命令=”{Binding Path=DataContext.NameClickCommand…
如果NameClickCommand位于Grid@Meleak你的答案成功了。你能把它作为一个答案贴出来让我接受吗?当然,我会把它改成一个答案:)是的,我只查找xaml文件的上一个父级,它是一个网格,在它的第三级。有没有指向ref的快捷方式如果我在这个Datagrid的同一级别添加一个按钮并将其命令设置为NameClickCommand,它就会工作。@11000011
..{Binding DataContext.NameClickCommand,ElementName=rootGrid}