我在列中有这个按钮:
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="UpdateTopic">Update</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
但现在我要求其中的文本和应用于它的函数都根据我的一列中的值进行更改。我怎样才能做到这一点?
答案 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();
}
这样,你可以有一个点击处理程序,它根据列的当前值执行各种任务。