我可以在C#中的按钮内存储一个对象吗

时间:2011-07-25 20:08:48

标签: c# wpf object button

我在我的代码中动态创建按钮,有没有办法在按钮中存储自定义对象,以便在按下此按钮时可以使用它?

5 个答案:

答案 0 :(得分:21)

可以使用Tag,但是在获取对象时需要进行转换。

答案 1 :(得分:21)

考虑使用命令模式并将命令绑​​定到按钮的Command property,然后使用CommandParameter Property存储您的对象。

单击该按钮时,将使用Execute(包含您的对象)作为参数调用您的命令的CommandParameter方法。

了解您正在工作的情景会很好。只要您没有构建自定义控件,就可以通过代码生成XAML,这表明您可能在错误的轨道上。

大多数事情都可以通过数据绑定和转发器控件来实现,例如列表框,菜单,数据网格等。您是否熟悉MVVM模式?

答案 2 :(得分:2)

可以使用attached property

答案 3 :(得分:1)

有很多选项要以声明的方式(通过绑定到Tag或其他未使用的字段)或不做,但如果你动态创建按钮,那么一种不那么干扰的方法就是简单地创建一个{{ 1}}映射,用于存储每个按钮所需的对象。

答案 4 :(得分:0)

你也可以继承Button并将你的课程放在那里......