Procedura: disegnare un'area con un video
In questo esempio viene illustrato come disegnare un'area con i supporti. Una modalità per disegnare un'area con i supporti consiste nell'utilizzare MediaElement con VisualBrush. Utilizzare MediaElement per caricare e riprodurre i supporti, quindi per impostare la proprietà Visual di VisualBrush. È quindi possibile utilizzare VisualBrush per disegnare un'area con i supporti caricati.
Esempio
Nell'esempio riportato di seguito vengono utilizzati MediaElement e VisualBrush per disegnare la proprietà Foreground di un controllo TextBlock con video. In questo esempio la proprietà IsMuted di MediaElement viene impostata su true in modo da non riprodurre suoni.
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>
Poiché VisualBrush eredita dalla classe TileBrush, offre varie modalità di affiancamento. Impostando la proprietà TileMode di VisualBrush su Tile e la proprietà Viewport su un valore più piccolo dell'area da disegnare, è possibile creare un modello affiancato.
Nell'esempio riportato di seguito è identico al precedente, tranne per il fatto che VisualBrush genera un modello dal video.
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>
Per informazioni sull'aggiunta di un file di dati, ad esempio un file multimediale, all'applicazione, vedere File di dati e di risorse dell'applicazione WPF.. Quando si aggiunge un file multimediale, è necessario aggiungerlo come file di dati, non come file di risorse.
Vedere anche
Riferimenti
Concetti
Disegnare con oggetti Image, Drawing e Visual