
Программирование элементов ui
XAML предоставляет ряд визуальных элементов для создания UI. К элементам UI относятся Canvas, Ellipse, Glyphs, Image, Line, MediaElement, Path, Polygon, Polyline, Rectangle, Run, Shape, TextBlock и другие.
Каждый из этих элементов поддерживает полнофункциональный набор методов и событий.
Элемент UI поддерживает следующие события:
GotFocus (Получение фокуса) .
KeyDown (Нажатие клавиши).
Key Up (Удерживаемая клавиша отпущена).
Loaded. Это событие формируется, когда содержимое Silverlight загружено в элемент управления Silverlight и проведен его синтаксический разбор, но перед формированием его визуального представления.
LostFocus (Потеря фокуса).
MouseEnter (Вход курсора мыши).
MouseLeave (Выход курсора мыши).
MouseLeftButtonDown. Это событие возникает при нажатии пользователем левой кнопки мыши, когда курсор находится над элементом UI.
MouseLeftButtonUp (Удерживаемая левая кнопка мыши отпущена).
MouseMove (Перемещение мыши).
XAML может применяться в качестве инструмента взаимодействия из серверных приложений, разработанных на базе языков сценариев, а Silverlight может использоваться для связи с этими приложениями. Также возможно использование AJAX и JavaScript для получения данных от серверных приложений, а открытая природа дерева визуального отображения Silverlight позволяет передавать эти данные в элемент управления Silverlight для дальнейшего отображения.
Silverlight предлагает ряд прикладных программных интерфейсов (APIs), обеспечивающих возможность работы с удаленными данными. Например, предоставляет в распоряжение разработчика классы для работы с сетью и для связи с веб-сервисам (WebClient, HttpWebRequest, HttpWebRespose и др.).
Элемент управления MediaElement
Одно из наиболее важных применений Silverlight в Веб – обеспечение поддержки мультимедиа следующего поколения, которое может воспроизводиться на разных платформах. Для этого Silverlight поддерживает элемент управления MediaElement.
Элемент управления MediaElement поддерживает следующие форматы.
Видео:
WMV1: Windows Media Video 7
WMV2: Windows Media Video 8
WMV3: Windows Media Video 9
WMVA: Windows Media Video Advanced Profile (не–VC-1)
WMVC1: Windows Media Video Advanced Profile, VC-1
H.264: Видео, кодированное в популярном формате H264 (только Silverlight 3+).
Аудио:
WMA7 (Windows Media Audio 7)
WMA8 (Windows Media Audio 8)
WMA9 (Windows Media Audio 9)
WMA10 (Windows Media Audio 10)
MP3 (ISO/MPEG Layer 3)
Моно или стерео
Частоты дискретизации от 8 до 48 кГц
Скорости передачи двоичных данных от 8 до 320 Кбит/с
Переменная скорость передачи двоичных данных
Кроме этих форматов, элемент управления MediaElement также поддерживает списки воспроизведения ASX и протоколы HTTP, HTTPS и MMS.
Если говорить о потоковой передаче видео и/или аудио, MediaElement поддерживает потоковое вещание и потоковую передачу по запросу от сервера, выполняющего Windows Media. Если для URI задан протокол MMS, потоковая передача включена; в противном случае, загрузка и воспроизведение файла осуществляются путем прогрессивной загрузки, при которой воспроизведение начинается только после заполнения буфера воспроизведения и затем эти два процесса выполняются параллельно.
Если определен протокол HTTP или HTTPS, то MediaElement сначала делает попытку выполнить прогрессивную загрузку, и в случае неудачи пытается использовать потоковую передачу файла.
Чтобы начать работу с элементом управления MediaElement, достаточно добавить его на свою страницу и задать в качестве значения его атрибута Source - URL видеофайла, который требуется воспроизвести:
<UserControl x:Class="SilverlightApplication.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="1280" d:DesignHeight="720">
<Grid x:Name="LayoutRoot" Background="White"> <MediaElement x:Name="vid" Source="Wildlife.wmv"/> </Grid>
</UserControl> |