我有一個DataGrid
帶有行和列。每行對應於我的數據收集中的項目。對於我的其中一列,我想要有一個包含我的數據項名稱文本的超鏈接,當我單擊超鏈接時,它將執行THAT超鏈接項目(它所在的行)的命令數據模板列中的超鏈接在更新DataGrid的CurrentItem時存在問題
希望迄今爲止有意義。
我的問題:如何綁定超鏈接的CommandParameter
以使用當前行的數據項?我遇到了一個問題,如果我有一些隨機單元格被選中(比如第3行第2列),並且我點擊第1行第1列中的超鏈接,它會說當前項目是第3行中的項目而不是第1行! !
這是我的XAML代碼:
<DataGridTemplateColumn Width="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<Hyperlink Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}, Path=DataContext.NavigateToFormCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}, Path=CurrentItem}">
<TextBlock Text="{Binding dataName}" />
</Hyperlink>
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
如果我單擊單元格的超級鏈接是,然後單擊超鏈接,一切都將正常工作。但是,這並不是一個很好的工作流程...如果用戶點擊超鏈接,應該有合適的項目...