c# - 在 WPF 中 dataGridTemplateColumn.CellTemplate 的同一按钮单击事件后面调用不同的函数
问题描述
如果条目被删除,我已经更改了按钮的内容,然后将其替换为恢复。但后面执行的函数调用或按钮点击事件是删除函数。我想在恢复按钮后面执行恢复功能。
以下是我的代码:
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Name="btnDelete"
Click="BtnDelete_Click">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Content" Value="Delete" />
<Style.Triggers>
<DataTrigger Binding="{Binding deleted}" Value="False">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
<DataTrigger Binding="{Binding deleted}" Value="True">
<Setter Property="IsEnabled" Value="True" />
<Setter Property="Content" Value="Restore"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
解决方案
解决问题的一个简单方法是Content
在后面的代码中使用按钮属性。
private void BtnDelete_Click(object sender, RoutedEventArgs e)
{
Button button = (Button)sender;
if (button.Content.ToString() == "Delete")
{
//Do delete stuff
}
else
{
//Do restore stuff
}
}
推荐阅读
- java - 容器程序中的纱线应用程序失败
- ssas - 无法打开 SSAS 表格
- apache - ngx_stream_ssl_preread_module 的 Apache 版本
- spring - gradle bootRun 更新后重建整个项目
- javascript - Vue.js 的条件未按预期工作
- git - 如何在不设置全局凭据的情况下提交共享存储库?
- javascript - 从服务器获取后渲染图像时,react antd上传组件正在重复元素
- c++ - 我做错了什么(简单统计)
- time-series - Prometheus 时间序列在没有和更新的情况下持续多久
- heroku - fsevents 无法从 jest-haste-map 访问