gpt4 book ai didi

DataGridTemplateColumn.CellTemplate 中的 wpf 绑定(bind)复选框命令

转载 作者:行者123 更新时间:2023-12-01 15:00:25 26 4
gpt4 key购买 nike

这已经被问过好几次了,但我不能让他们中的任何一个工作。

当在我的 View 中单击复选框(在 datagridTemplateColumn.cellTemplate 中)时,我试图在我的 View 模型中调用一个方法

<DataGrid ItemsSource="{Binding TransactionTypes}" AutoGenerateColumns="False" CanUserAddRows="False" x:Name="TransTypesGrid">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Command="{Binding DataContext.UpdateCommand, ElementName=TransTypesGrid}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Transaction Type" Binding="{Binding TransTypeDesc}" />
</DataGrid.Columns>

在我的 viewModel 中

public DelegateCommand UpdateCommand { get; set; }

public myConstructor()
{
this.UpdateCommand = new DelegateCommand(Update);
}

private void Update()
{
//this stuff works, it's just not getting called when a checkbox get's (un)checked
//stuff that goes though the DataGrid's item source's IsSelected property
}

最佳答案

您应该在命令绑定(bind)中使用Self 绑定(bind)

<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Command="{Binding DataContext.UpdateCommand,RelativeSource={RelativeSource Mode=Self}}" />
</DataTemplate>

关于DataGridTemplateColumn.CellTemplate 中的 wpf 绑定(bind)复选框命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17090540/

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