我可以在c#的按钮中存储一个对象吗?
本文关键字:存储 一个对象 按钮 我可以 | 更新日期: 2023-09-27 18:03:43
我在代码中动态创建按钮,是否有一种方法可以在我的按钮中存储自定义对象,以便我可以在按下此按钮时使用它?
考虑使用命令模式并将命令绑定到按钮的Command
属性,并使用CommandParameter
属性来存储您的对象。
当点击按钮时,命令的Execute
方法将使用CommandParameter
(包含您的对象)作为参数调用。
知道你正在工作的场景是很好的。只要您没有构建自定义控件,那么通过代码生成XAML就表明您可能走错了路。
大多数事情都可以通过数据绑定和重复器控件来完成,比如列表框、菜单、数据网格等。你熟悉MVVM模式吗?
您可以使用Tag
,需要在获得对象时进行强制转换。
您也可以使用附加属性
有很多选项可以声明性地(通过绑定到Tag
或其他未使用的字段)或不这样做,但是如果您动态创建按钮,一种不那么侵入性的方法是简单地创建一个Dictionary<Button, T>
映射,它为每个按钮存储所需的对象。
你也可以继承Button并把你的class放在那里