这更像是一个架构设计问题,所以它不会有与之相关的代码片段。
我有一个顶级的Window类,它有一个工具栏。 Window类可能用于托管各种内容。该内容可能具有可用于对其执行操作的命令。 Window无法知道这些命令是什么。我希望这些命令(可能包含相关图像)可用于Window。
对此最好的解决方案是什么?
我脑子里想到的一个想法就是有一个包含一组Buttons的附加属性,并且Window可以找到具有这个附加属性的子项,并将这些按钮放在它的工具栏中。
答案 0 :(得分:0)
我认为你是在正确的轨道上,但考虑暴露命令而不是按钮本身。无论您在窗口中托管内容的机制如何,您都可以查看可用的命令并将其添加到工具栏中。您可以创建一个小实用程序类来保存命令及其关联的图标。并拥有一个AvailableCommands集合。只是尝试将行为和数据尽可能与UI分开。然后,窗口可以决定直观地表示这些命令的最佳方式,无论是工具栏,右键菜单,还是其他任何命令。