将MedialElement从视图(xaml)绑定到ViewModel的属性

Sli*_*oui 2 c# wpf binding mediaelement mvvm

我正在尝试将MainView.xaml中的medialElement绑定到ViewModel的proprety.在MainViewModel.cs中我们会找到

#region Media
private MediaElement media;
    public MediaElement Media
    {
        get
        {
            return media;
        }
        set
        {
            if (value == media)
                return;
            media = value;
            OnPropertyChanged("Media");
        }
    }
    #endregion
Run Code Online (Sandbox Code Playgroud)

我想知道在MainView.xaml中放入什么来进行绑定.

我知道如果它是一个TextBox,我会写

`<TextBox Text="{Binding BGToSet, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />`
Run Code Online (Sandbox Code Playgroud)

但是我应该为MediaElement做些什么呢?我现在这样做:

`<MediaElement  VerticalAlignment="Center" Width="700" LoadedBehavior="Manual" Height="450" Stretch="Fill"  MediaOpened="{ Binding mediaMediaOpenedCommand}" >
Run Code Online (Sandbox Code Playgroud)

"非常感谢您的回答!! 对不起我的英语不好.我也是WPF的新手

max*_*max 6

您应该公开Uri要显示的媒体源而不是MediaElement:

public Uri MediaSource { get { /* ... */ } set { /* ... */ } }

<MediaElement Source="{Binding MediaSource}" />
Run Code Online (Sandbox Code Playgroud)

或使用ContentControl(或ContentPresenter)展示MediaElement自己:

<ContentControl Content="{Binding Media}" />
Run Code Online (Sandbox Code Playgroud)