Как получить доступ к UserControl (MediaElement) в представлении из модели представления (MVVM Light Toolkit) - PullRequest
1 голос
/ 27 июля 2011

Я очень новичок в MVVM Light Toolkit (а также в WPF).

У меня есть следующая проблема, и я не вижу, как ее решить:

В моем MainView я помещаю MediaElement, а также некоторые кнопки, которые управляют поведением приложения.Я подключил кнопку с RelayCommands к ViewModel, так что это уже работает нормально.Я понял, что MediaElement легко запускать и останавливать с помощью файла CodeBehind MainView, но мне нравится управлять MediaElement из ViewModel с помощью RelayCommands.Поэтому я решил добавить ссылку на MedieElement в ViewModel.Как я выяснил, ViewModelLocator сначала создается, и это создаст ViewModel и, наконец, будет создан MainView, поэтому инъекция не будет работать в этом случае.

Итак, какое решение будет лучшим дляпозволить ViewModel получить ссылку на MediaElement?Сообщения?

наилучшие пожелания

Бернхард

ps: я также задавал этот вопрос на дискуссионной панели на домашней странице mvvm light toolkit (codeplex)

1 Ответ

1 голос
/ 27 июля 2011

Поэтому я подумал вставить ссылку на MedieElement в ViewModel

Не делайте этого.В MVVM вы должны никогда иметь ссылку на элемент пользовательского интерфейса в ViewModel.Вместо этого вызовите события из ViewModel, которые обрабатываются в коде для управления MediaElement

...