Пользовательский MediaElement - PullRequest
1 голос
/ 09 февраля 2011

В настоящее время я использую MediaElements в приложении, которое создаю.Я динамически создаю их и добавляю на панель обтекания.

Проблема в том, что мне нужно добавить к ним ключ, чтобы я мог вернуться и найти конкретный ключ.

Я собирался унаследовать от MediaElement и просто добавить ключ в качестве участника.К сожалению, я не могу этого сделать, потому что это закрытый класс.

Итак, я попытался создать класс, содержащий MediaElement и ключ, но я не могу добавить его в GUI, так как он не UIElement.

.сделай это?Мне просто нужно иметь возможность добавить MediaElements, и они смогут вернуться и найти их позже, чтобы я мог изменить или удалить их.

Ответы [ 2 ]

3 голосов
/ 09 февраля 2011

Есть такой способ.Добавьте Dictrionary <string, MediaElement> к вашей форме.При добавлении нового медиа-элемента, добавьте его в словарь либо.Когда вам нужно получить доступ к MediaElement, вы можете запросить его из словаря, используя его имя ключа.Вы получите ссылку на ваш элемент, который находится одновременно в словаре и в графическом интерфейсе.

И при удалении из графического интерфейса не забудьте удалить элемент из словаря.

1 голос
/ 03 июня 2011

Работать со словарем - хорошая идея, но вам придется поддерживать его состояние по мере добавления или удаления медиаэлементов из пользовательского интерфейса. В качестве второго варианта вы также можете унаследовать свой пользовательский класс с помощью UserControl и добавить в него элемент mediaElement как дочерний. Таким образом, вы сможете добавить свой собственный класс с ключом и обрабатывать его в соответствии с вашей собственной логикой

...