我在VisualBrush对象中有一个MediaElement,这样我就可以在只使用一个MediaElement的情况下运行多个视频显示。问题是我无法弄清楚如何从后面的代码控制MediaElement。背后的代码不识别名称' myMedia'。
如何访问此元素?
<Window.Resources>
<VisualBrush x:Key="Media" Stretch="Uniform">
<VisualBrush.Visual>
<MediaElement Name="myMedia" Source="c:\a.mp4" Width="100" Height="100"/>
</VisualBrush.Visual>
</VisualBrush>
</Window.Resources>
答案 0 :(得分:2)
您可以通过FrameworkElement.Resources
property从代码中的元素按键获取资源。然后,只需将返回的资源强制转换为VisualBrush
并访问并转换其VisualBrush.Visual
property。
<强> VB.NET:强>
Dim VBrush As VisualBrush = TryCast(Me.Resources("Media"), VisualBrush)
If VBrush IsNot Nothing Then
Dim Media As MediaElement = TryCast(VBrush.Visual, MediaElement)
If Media IsNot Nothing Then
'Do your stuff here...
End If
End If
<强> C#:强>
VisualBrush VBrush = this.Resources["Media"] as VisualBrush;
if(VBrush != null) {
MediaElement media = VBrush.Visual as MediaElement;
if(media != null) {
//Do your stuff here...
}
}