0

我在一列中有这个按钮:

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

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

4

1 回答 1

0

在您的代码后面或视图模型中创建一个属性并将其绑定到该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();
}

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

于 2013-08-01T09:15:44.907 回答