【问题标题】:Custom MediaElement自定义媒体元素
【发布时间】:2011-02-09 19:30:32
【问题描述】:

我目前正在创建的应用程序中使用一些MediaElements。我正在动态创建它们并将它们添加到包装面板中。

问题是我需要能够向它们添加一个密钥,这样我才能返回并找到一个特定的。

我打算从MediaElement 继承,并将密钥添加为成员。不幸的是我不能这样做,因为它是一个密封的类。

所以我尝试创建一个包含 MediaElement 和密钥的类,但我无法将其添加到 GUI,因为它不是 UIElement

无论如何我可以做到这一点吗?我只需要能够添加 MediaElements 并且他们能够稍后返回并找到它们,以便我可以修改或删除它们。

【问题讨论】:

    标签: c# inheritance mediaelement composition sealed


    【解决方案1】:

    有这样的方法。 将Dictrionary <string, MediaElement> 添加到您的表单中。添加新媒体元素时,也将其添加到字典中。 当您需要访问 MediaElement 时,您可以使用它的键名从字典中查询它。您将同时在字典和 GUI 中获得对元素的引用。

    当从 GUI 中删除时,也不要忘记从字典中删除元素。

    【讨论】:

      【解决方案2】:

      使用字典处理它是一个好主意,但是当您在 UI 中添加或删除媒体元素时,您必须保持它的状态。 作为第二种选择,您还可以使用 UserControl 继承您的自定义类,并将 mediaElement 作为子项添加到其中。这样你就可以用 key 添加你自己的类并按照你自己的逻辑处理它

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-23
        • 2015-03-23
        • 2023-03-29
        • 1970-01-01
        相关资源
        最近更新 更多