问题标签 [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.
c# - 如何访问用户控件库中 XAML 中的资源图像?
我正在编写一个 WPF 用户控件库,并且在尝试通过某些 XAML 访问的资源图像时遇到问题。只是为了好玩,图像在设计时按预期显示,仅在运行时失败。
我尝试将构建操作设置为“无”、“内容”、“资源”和“嵌入式资源”,但我不断收到以下神秘异常:
'在 'System.Windows.Baml2006.TypeConverterMarkupExtension' 上提供值引发了异常。' 行号“18”和行位置“6”。
查看内部异常,似乎是pack URI的问题。当我尝试:
我得到:
Assembly.GetEntryAssembly() 返回 null。
好的,所以这可能是因为我的库现在正在从另一个程序集中调用。但是当我遵循建议并尝试时:
我得到一个内部异常:
“无法识别 URI 前缀。”
为了增加乐趣,我有另一个图像资源,通过实际的 C# 代码(即不通过 XAML)访问它没有问题。
我究竟做错了什么?感觉它会很简单,但现在是主管。
wpf - 为什么我的图像无法找到资源?
我难住了。我正在尝试显示嵌入在另一个程序集中的图像。我已经尝试了几件事,但到目前为止没有任何效果。我确信我错过了一些非常简单的东西。
目前,Xaml 看起来像这样:
我最初的 Xaml 看起来像这样:
我换了它,希望它会有所作为。(它没有。)
Name.Of.Assembly
我在尝试创建图像的项目中有一个参考。在程序集中Name.Of.Assembly
,有一个名为 Resources 的目录,其中有一个名为 Icons 的子文件夹,其中包含图像 icon.png。icon.png 上的构建操作设置为Embedded Resource。
当我尝试运行时,我得到一个XamlParseException
:
谁的内在例外是:
就像它没有在程序集中寻找资源一样。为什么加载图片失败?我错过了什么?
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
?
编辑:我见过这个问题,但它没有解释为什么。
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 并将其引用为:
但结果相同 - 异常说“找不到资源”。
c# - c# 在构建中有声音文件
我需要为学校制作游戏。
我正在添加一些音效和音乐。
我在课堂上有 .wav 的路径,它会播放它们,但只有当我从项目中的 bin 地图开始游戏时。我发现这些文件不包含在构建之外。我开始寻找它,但找不到正确的方法。
我有:
然而,这不起作用。如果我添加一个消息框:
它显示为假。
在文件中,我将属性设置为:
构建操作:资源
复制到输出目录:始终复制
我希望有一个人可以帮助我。