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

本文关键字:存储 一个对象 按钮 我可以 | 更新日期: 2023-09-27 18:03:43

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

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

考虑使用命令模式并将命令绑定到按钮的Command属性,并使用CommandParameter属性来存储您的对象。

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

知道你正在工作的场景是很好的。只要您没有构建自定义控件,那么通过代码生成XAML就表明您可能走错了路。

大多数事情都可以通过数据绑定和重复器控件来完成,比如列表框、菜单、数据网格等。你熟悉MVVM模式吗?

可以使用Tag,需要在获得对象时进行强制转换。

您也可以使用附加属性

有很多选项可以声明性地(通过绑定到Tag或其他未使用的字段)或不这样做,但是如果您动态创建按钮,一种不那么侵入性的方法是简单地创建一个Dictionary<Button, T>映射,它为每个按钮存储所需的对象。

你也可以继承Button并把你的class放在那里