gpt4 book ai didi

c# - 命令 - 从 DataGridTemplateColumn 绑定(bind)

转载 作者:太空宇宙 更新时间:2023-11-03 20:03:09 25 4
gpt4 key购买 nike

<DataGrid ItemsSource="{Binding Occerences}" 
AutoGenerateColumns="False"
IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Start index" Binding="{Binding Start}" />
<DataGridTextColumn Header="End index" />
<DataGridTextColumn Header="Length" />
<DataGridTextColumn Header="Pattern" />
<DataGridTemplateColumn Header="Sequence">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Sequence" Command="{Binding SequenceCommand}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Export">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Export" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>

<Button Content="Sequence" Command="{Binding SequenceCommand}" />

这是行不通的。如何绑定(bind)到 SequenceCommand(MyViewModel、ICommand SequenceCommand)?

我不会使用框架(mvvm light 工具包、prism 等)。

最佳答案

CellTemplate 的 DataTemplate 中的 DataContext 将更改为绑定(bind)到未找到 SequenceCommand 的当前项目。您必须将 RelativeSource 设置为 DataGrid 并为 DataContext.SequenceCommand 设置 Path,如下所示:

<Button Content="Sequence" 
Command="{Binding RelativeSource={RelativeSource AncestorType=DataGrid},
Path=DataContext.SequenceCommand}" />

关于c# - 命令 - 从 DataGridTemplateColumn 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25950704/

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