Я использую FindAncestor и AncestorLevel = 3, чтобы достичь тега верхнего уровня, который должен иметь команду relayModel relay, но он не работает. Любые предложения, если я делаю это неправильно или способ отладить этот сценарий?WPF Binding RelativeSource issue
<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>
Как насчет конкретного кода, так что мы не должны использовать наше стекло мячи? – DHN
Стеклянные шарики! : D – WhoIsNinja
Просто догадаться, быстро взглянув на ваш xaml. Кажется, что вы привязываете команду к свойству, называемому 'NameClickCommand', на' Grid'. 'Grid' не имеет этого свойства, поэтому попробуйте изменить его на' Command = {{Binding Path = DataContext.NameClickCommand ... ', если NameClickCommand находится в DataContext Grid. –