我想将视频显示为网格背景。基于this post,我创建了以下网格代码:
<Grid>
<Grid.Background>
<VisualBrush>
<VisualBrush.Visual>
<StackPanel Background="White">
<Image Source="/WPF.Resources;component/Videos/background.wmv" Opacity="0.3"></Image>
</StackPanel>
</VisualBrush.Visual>
</VisualBrush>
</Grid.Background>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="491" />
<ColumnDefinition Width="491" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*" />
<RowDefinition Height="250" />
<RowDefinition Height="250" />
<RowDefinition Height="105" />
<RowDefinition Height="1*" />
</Grid.RowDefinitions>
</Grid>
但是我遇到此错误:
混合不支持此文件格式。 D:\ WPF \ Resources \ Videos \ background.wmv
WPF支持哪种类型的文件作为视频背景?我尝试播放视频,并且可以播放它,因此它是有效的文件格式。
答案 0 :(得分:1)
使用Image
代替MediaElement
。
<VisualBrush.Visual>
<StackPanel Background="White">
<MediaElement Source="/WPF.Resources;component/Videos/background.wmv" Opacity="0.3"></MediaElement>
</StackPanel>
</VisualBrush.Visual>
转到 background.wmv 文件的属性,然后在Copy to Output Directory
中选择Copy always
。这意味着视频将被复制到bin文件夹,并且wpf应用程序将可以从那里访问该文件,并且该视频将被取消。
答案 1 :(得分:0)
尝试使用MediaElement
代替Image
。