我目前正在创建的应用程序中使用一些MediaElements
。我正在动态创建它们并将它们添加到包装面板中。
问题是我需要能够为它们添加一个键,以便我可以返回并找到一个特定的键。
我将继承MediaElement
,只需将密钥添加为成员即可。不幸的是,我不能这样做,因为它是一个密封的类。
所以我尝试创建一个包含MediaElement
和密钥的类,但我不能将其添加到GUI,因为它不是UIElement
。
反正我能做到吗?我只需要能够添加MediaElements
,然后他们就可以返回并稍后找到它们,以便我可以修改或删除它们。
答案 0 :(得分:3)
有这样的方式。
将Dictrionary <string, MediaElement>
添加到您的表单中。添加新媒体元素时,也可以将其添加到字典中。
当您需要访问MediaElement时,您可以使用它的密钥名称从字典中查询它。您将在字典和GUI中同时获得对元素的引用。
从GUI删除时,不要忘记从字典中删除元素。
答案 1 :(得分:1)
使用字典处理它是一个好主意,但是当您从UI添加或删除媒体元素时,您必须保持其状态。 作为第二个选项,您还可以使用UserControl继承自定义类,并将mediaElement作为子项添加到其中。这样,您就可以使用密钥添加自己的类,并根据您自己的逻辑处理它