Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo se muestra cómo pintar un área con multimedia. Una manera de pintar un área con multimedia es utilizar un control MediaElement junto con un objeto VisualBrush. Utilice el control MediaElement para cargar y reproducir multimedia y, a continuación, utilícelo para establecer la propiedad Visual de VisualBrush. Luego, puede utilizar VisualBrush para pintar un área con el contenido multimedia cargado.
Ejemplo
En el ejemplo siguiente se utilizan MediaElement y VisualBrush para pintar el Foreground de un control TextBlock con vídeo. En este ejemplo se establece la propiedad IsMuted de MediaElement en true para que no genere ningún sonido.
Dim myMediaElement As New MediaElement()
myMediaElement.Source = New Uri("sampleMedia\xbox.wmv", UriKind.Relative)
myMediaElement.IsMuted = True
Dim myVisualBrush As New VisualBrush()
myVisualBrush.Visual = myMediaElement
Dim myTextBlock As New TextBlock()
myTextBlock.FontSize = 150
myTextBlock.Text = "Some Text"
myTextBlock.FontWeight = FontWeights.Bold
myTextBlock.Foreground = myVisualBrush
MediaElement myMediaElement = new MediaElement();
myMediaElement.Source = new Uri("sampleMedia\\xbox.wmv", UriKind.Relative);
myMediaElement.IsMuted = true;
VisualBrush myVisualBrush = new VisualBrush();
myVisualBrush.Visual = myMediaElement;
TextBlock myTextBlock = new TextBlock();
myTextBlock.FontSize = 150;
myTextBlock.Text = "Some Text";
myTextBlock.FontWeight = FontWeights.Bold;
myTextBlock.Foreground = myVisualBrush;
<TextBlock FontSize="100pt" Text="Some Text" FontWeight="Bold">
<TextBlock.Foreground>
<VisualBrush>
<VisualBrush.Visual>
<MediaElement Source="sampleMedia\xbox.wmv" IsMuted="True" />
</VisualBrush.Visual>
</VisualBrush>
</TextBlock.Foreground>
</TextBlock>
Dado que VisualBrush hereda de la clase TileBrush, proporciona varios modos de mosaico. Si establece la propiedad TileMode de VisualBrush en Tile y establece su propiedad Viewport en un valor menor que el área que se está pintando, puede crear un modelo en mosaico.
El ejemplo siguiente es idéntico al ejemplo anterior, salvo que VisualBrush genera un modelo a partir del vídeo.
Dim myMediaElement As New MediaElement()
myMediaElement.Source = New Uri("sampleMedia\xbox.wmv", UriKind.Relative)
myMediaElement.IsMuted = True
Dim myVisualBrush As New VisualBrush()
myVisualBrush.Viewport = New Rect(0, 0, 0.5, 0.5)
myVisualBrush.TileMode = TileMode.Tile
myVisualBrush.Visual = myMediaElement
Dim myTextBlock As New TextBlock()
myTextBlock.FontSize = 150
myTextBlock.Text = "Some Text"
myTextBlock.FontWeight = FontWeights.Bold
myTextBlock.Foreground = myVisualBrush
MediaElement myMediaElement = new MediaElement();
myMediaElement.Source = new Uri("sampleMedia\\xbox.wmv", UriKind.Relative);
myMediaElement.IsMuted = true;
VisualBrush myVisualBrush = new VisualBrush();
myVisualBrush.Viewport = new Rect(0, 0, 0.5, 0.5);
myVisualBrush.TileMode = TileMode.Tile;
myVisualBrush.Visual = myMediaElement;
TextBlock myTextBlock = new TextBlock();
myTextBlock.FontSize = 150;
myTextBlock.Text = "Some Text";
myTextBlock.FontWeight = FontWeights.Bold;
myTextBlock.Foreground = myVisualBrush;
<TextBlock FontSize="100pt" Text="Some Text" FontWeight="Bold">
<TextBlock.Foreground>
<VisualBrush Viewport="0,0,0.5,0.5" TileMode="Tile">
<VisualBrush.Visual>
<MediaElement Source="sampleMedia\xbox.wmv" IsMuted="True" />
</VisualBrush.Visual>
</VisualBrush>
</TextBlock.Foreground>
</TextBlock>
Para obtener información sobre cómo agregar a su aplicación un archivo de contenido, como un archivo multimedia, vea Archivos de recursos, contenido y datos de aplicaciones de WPF. Los archivos multimedia deben agregarse como archivos de contenido, no como archivos de recursos.
Vea también
Referencia
Conceptos
Pintar con imágenes, dibujos y elementos visuales