问题标签 [pack-uri]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1311 浏览

c# - 如何访问用户控件库中 XAML 中的资源图像?

我正在编写一个 WPF 用户控件库,并且在尝试通过某些 XAML 访问的资源图像时遇到问题。只是为了好玩,图像在设计时按预期显示,仅在运行时失败。

我尝试将构建操作设置为“无”、“内容”、“资源”和“嵌入式资源”,但我不断收到以下神秘异常:

'在 'System.Windows.Baml2006.TypeConverterMarkupExtension' 上提供值引发了异常。' 行号“18”和行位置“6”。

查看内部异常,似乎是pack URI的问题。当我尝试:

我得到:

Assembly.GetEntryAssembly() 返回 null。

好的,所以这可能是因为我的库现在正在从另一个程序集中调用。但是当我遵循建议并尝试时:

我得到一个内部异常:

“无法识别 URI 前缀。”

为了增加乐趣,我有另一个图像资源,通过实际的 C# 代码(即不通过 XAML)访问它没有问题。

我究竟做错了什么?感觉它会很简单,但现在是主管。

0 投票
1 回答
3666 浏览

wpf - 为什么我的图像无法找到资源?

我难住了。我正在尝试显示嵌入在另一个程序集中的图像。我已经尝试了几件事,但到目前为止没有任何效果。我确信我错过了一些非常简单的东西。

目前,Xaml 看起来像这样:

我最初的 Xaml 看起来像这样:

我换了它,希望它会有所作为。(它没有。)

Name.Of.Assembly我在尝试创建图像的项目中有一个参考。在程序集中Name.Of.Assembly,有一个名为 Resources 的目录,其中有一个名为 Icons 的子文件夹,其中包含图像 icon.png。icon.png 上的构建操作设置为Embedded Resource

当我尝试运行时,我得到一个XamlParseException

谁的内在例外是:

就像它没有在程序集中寻找资源一样。为什么加载图片失败?我错过了什么?

0 投票
1 回答
1177 浏览

c# - 包 URI 不适用于 generic.xaml 合并字典

我制作了一个自定义控件库,并在根路径中制作了一个名为“FlipView”的控件。然后我删除了样式并将其移动到根路径中Generic.xaml命名的自己的资源字典中。FlipView.xaml现在我将该资源字典合并为Generic.xaml使用以下代码:

然后我在另一个wpf项目中使用了该控件,但它抛出了XamlParseException一个InnerException

找不到资源“flipview.xaml”。

为什么不能呢?资源字典位于控件库项目的根路径中。

如果我用(是我的自定义控件库的名称)替换Source属性设置器,它工作得很好。"pack://application:,,,/MyCustomControls;component/FlipView.xaml"MyCustomControls

通用的.xaml:

为什么会这样?

对于 WPF 项目,这似乎是多余的,因为它pack://application,,,/指的是根路径,WpfAssemblyName;component/又指的是根路径。为什么有必要Generic.xaml

编辑:我见过这个问题,但它没有解释为什么

0 投票
0 回答
139 浏览

c# - 引用资源字典时出现异常

我的解决方案包含以下项目:

  • 服务工具网
  • ServiceTools.UI(启动)
  • ServiceTools.UI.Controls
  • 服务工具.UI.主题

在 UI.Controls 中,我创建了一个从 Button 派生的自定义按钮控件。此自定义按钮应使用位于ServiceTools.UI.Themes.Buttons.Default.xaml中的 ResourceDictionary

所以 ServiceTools.UI.Controls 引用 ServiceTools.UI.Themes 并使用

如果我尝试使用 Dictionary IntelliSense 建议我所有的画笔(至少在触发器部分之外)。当我开始调试应用程序时,它会立即崩溃并出现 System.Windows.Markup.XamlParseException (

内部异常:无法加载文件或程序集“ServiceTools.UI.Themes,Culture=neutral”或其依赖项之一。系统找不到指定的文件。":"ServiceTools.UI.Themes, Culture=neutral"

谁能告诉我为什么这没有按预期工作?

编辑1:

出于测试目的,我在 ServiceTools.UI.Controls 中添加了一个新的 ResourceDictionary 并将其引用为:

但结果相同 - 异常说“找不到资源”。

0 投票
1 回答
741 浏览

c# - c# 在构建中有声音文件

我需要为学校制作游戏。

我正在添加一些音效和音乐。

我在课堂上有 .wav 的路径,它会播放它们,但只有当我从项目中的 bin 地图开始游戏时。我发现这些文件不包含在构建之外。我开始寻找它,但找不到正确的方法。

我有:

然而,这不起作用。如果我添加一个消息框:

它显示为假。

在文件中,我将属性设置为:

构建操作:资源

复制到输出目录:始终复制

我希望有一个人可以帮助我。