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

时间:2012-07-11 11:25:25

标签: c# wpf binding mvvm mediaelement

我正在尝试将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

我想知道要在MainView.xaml中添加什么来进行绑定。

我知道如果它是TextBox我会写

`<TextBox Text="{Binding BGToSet, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />`

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

`<MediaElement  VerticalAlignment="Center" Width="700" LoadedBehavior="Manual" Height="450" Stretch="Fill"  MediaOpened="{ Binding mediaMediaOpenedCommand}" >

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

1 个答案:

答案 0 :(得分:6)

您应该展示要展示的Uri媒体来源,而不是MediaElement

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

<MediaElement Source="{Binding MediaSource}" />

或使用ContentControl(或ContentPresenter)来展示MediaElement本身:

<ContentControl Content="{Binding Media}" />