我有一个带有ComboBox的自定义控件,我想在下拉列表的末尾添加一个按钮,上面写着“AddNew”,比如“AddNewStudent”,单击该按钮时,将打开一个表单来注册新学生。
由于我希望创建自定义控件的许多示例,其中一些可能不需要此功能,因此我希望它是可激活的,反之亦然。例如,列出学生成绩的ComboBox不需要此功能,因为成绩是已知的且不变的。另外,我希望当“AddNew”按钮被点击时采取的动作是一个用户可设置的依赖属性,因为当“AddNew”按钮的点击次数对于每个示例都不同。
Here is the repos on github of the Example below
的数据
1条答案
按热度按时间b5lpy0ml1#
我没看你的源代码。
我将只建议一种简单的典型方法来实现您需要的逻辑(当然,如果我正确理解了您的需要)。
个字符
要将此逻辑添加到自定义控件中,您需要在其中实现ICommandSource接口,以便用户连接外部命令。并添加另一个Dependency Property来控制ComboBox列表中按钮的可见性。
添加Dependency Properties来更改此按钮的外观也是有意义的:Content、ContentTemplate、Style等。
但就我个人而言,我不认为这有什么意义,因为这个按钮可以添加到列表中非常简单的地方,你的自定义控件被使用,正如我上面所展示的。
然后,您可以以非常多样和简单的方式自定义按钮(或任何其他元素)。没有额外的一大堆Dependency Property,如果在自定义控件的内部逻辑中完成,则必须这样做。