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

时间:2013-07-31 16:04:42

标签: c# wpf datagrid

我在列中有这个按钮:

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

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

1 个答案:

答案 0 :(得分:0)

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

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

假设您可以在列值更改时访问绑定到DataGrid的数据对象,请编辑与Button.Click事件关联的代码中的方法,如下所示:< / p>

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

这样,你可以有一个点击处理程序,它根据列的当前值执行各种任务。