根据列值将指定的函数和文本更改为WPF数据网格中的按钮

本文关键字:WPF 数据 数据网 按钮 网格 函数 文本 | 更新日期: 2023-09-27 18:25:45

我在一列中有这个按钮:

<DataGridTemplateColumn>
       <DataGridTemplateColumn.CellTemplate>
              <DataTemplate>
                     <Button Click="UpdateTopic">Update</Button>
              </DataTemplate>
       </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

但现在我要求其中的文本和应用于它的函数都根据我的一个专栏中的值进行更改。我怎样才能做到这一点?

根据列值将指定的函数和文本更改为WPF数据网格中的按钮

在代码隐藏或视图模型中创建一个属性,并将其绑定到Button.Content属性:

<Button Click="UpdateTopic" Content={Binding ButtonText}" />

假设随着列值的更改,您可以访问绑定到DataGrid的数据对象,请将代码后面链接到Button.Click事件的方法编辑为以下内容:

public void UpdateTopic()
{
    if (columnValue == "Something") DoSomething();
    else if (columnValue == "SomethingElse") DoSomethingElse();
    else if (columnValue == "AnotherThing") DoAnotherThing();
}

通过这种方式,您可以拥有一个单击处理程序,它根据列的当前值执行各种职责。