Воспроизведение видео в Silverlight с привязкой источника - PullRequest
0 голосов
/ 08 октября 2011

Я пытаюсь сделать WMV-видео для воспроизведения в Silverlight MediaElement. Это работает в этом коде XAML:

        <MediaElement
        x:Name="VideoElement"
        Stretch="Fill"
        Source=""http://ecn.channel9.msdn.com/o9/pdc09/wmv/CL20.wmv""
        Grid.Row="0"
        Grid.Column="0"
        AutoPlay="True"/>

Но когда я пытаюсь привязать источник к какому-либо свойству в моем коде, например:

        <MediaElement
        x:Name="VideoElement"
        Stretch="Fill"
        Source="{Binding VidPath}"
        Grid.Row="0"
        Grid.Column="0"
        AutoPlay="True"/>

Где VidPath:

    public Uri VidPath
    {
        get
        {
            return new Uri("http://ecn.channel9.msdn.com/o9/pdc09/wmv/CL20.wmv", UriKind.Absolute);
        }
        set;
    }

Это не работает. Можете ли вы помочь мне выяснить, почему?

1 Ответ

1 голос
/ 08 октября 2011

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

Учитывая, что в этом нет ничего плохогокод, который вы указали, но у меня есть догадка, что DataContext страницы, содержащей ваш MediaPlayer, настроен неправильно.Если вы поставили точку останова в геттере для VidPath, получится ли когда-нибудь?Я держу пари, что нет.

Какой бы объект не содержал ваше свойство "VidPath", вы хотите убедиться, что это DataContext вашей страницы.Например, если вы просто поместите VidPath как свойство в коде позади, вы можете добавить это в конструктор:

this.DataContext = this;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...