gpt4 book ai didi

c# - 单击按钮(动态创建的按钮)获取对象/项目 - 堆栈面板

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:35 27 4
gpt4 key购买 nike

我正在循环我的客户,我需要为每个客户创建一个按钮以防万一我想删除该特定客户。

这是我的代码:

foreach (var item in customersList)
{
Button btn = new Button();
btn.Content = "Customer": + " " + item.Value;
btn.Height = 40;
btn.Click += btn_Click;

TextBox cust = new TextBox();
cust.Height = 40;
cust.Text = item.Value;

stackCustomers.Children.Add(cust);
stackCustomers.Children.Add(btn);
}

我如何在我的按钮上附加事件点击,以便当我点击它时我得到客户?

void btn_Click(object sender, RoutedEventArgs e)
{
//I tried this but it is not working, unfortunatelly...
Customer cust = (Customer)sender;
}

最佳答案

最简单的方法:将客户附加到 Button.Tag 属性

Button btn = new Button();
btn.Tag = item; // .Value maybe?

// ...

void btn_Click(object sender, RoutedEventArgs e)
{
var button = sender as Button;
Customer cust = (Customer)button.Tag;
}

可能更好的方法是:为包含按钮的每个客户项目创建一个可视化表示。使用 Button.CommandButton.CommandParameter={Binding PathToCustomer} 而不是 Button.Click

关于c# - 单击按钮(动态创建的按钮)获取对象/项目 - 堆栈面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41846707/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com