我已经为我的应用程序设置了一个视频作为窗口背景的MediaElement。它可以工作,但只有当我从Visual Studio启动程序时。如果我尝试从构建的.exe启动它,MediaElement中的视频将不会加载,背景将保持黑色。 这是我的代码:
<Window.Background >
<VisualBrush>
<VisualBrush.Visual>
<MediaElement Source="Resources/BF4R.wmv" LoadedBehavior="Play" IsMuted="True" MediaEnded="BGRAIN_MediaEnded" ></MediaElement>
</VisualBrush.Visual>
</VisualBrush>
</Window.Background>
这些是BF4R.wmv属性:
构建操作:内容
复制到输出目录:始终复制
答案 0 :(得分:0)
当本地应用程序可以访问特定资源但安装的版本不能访问时,通常只有几个可能的原因:
1)资源未正确部署:
为确保部署资源,您通常应将构建操作设置为内容,将复制到输出目录设置为复制总是。我看到你做到了这一点。如果您使用项目的属性页面的发布选项卡发布应用程序,请验证您的资源是否已列出并设置为包含点击相关按钮,应用程序文件对话框窗口。
2)部署应用程序时,文件路径无法访问资源:
最好使用以下格式的文件路径(来自MSDN上的Pack URIs in WPF页面):
以下示例显示了XAML资源文件的pack URI,该文件位于引用程序集的项目文件夹的子文件夹中。
pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml
所以在你的情况下,这更像是:
Source="pack://application:,,,/YourAssemblyName;component/Resources/BF4R.wmv"