问题标签 [staticresource]

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 回答
2815 浏览

wpf - 找不到转换器资源

我有一个包含 2 个项目的 WPF 解决方案,第一个(ResourcesLibrary)包含通用样式和通用资源。另一个是 WPF 应用程序。

我在 ResourcesLibrary generic.xaml文件中为 DataGridRows 创建了一个样式:

我将 .cs 转换器文件添加到 ResourcesLibrary 项目:

并添加了引用和静态资源:

但是在运行时,在主项目中,我使用 ResourcesLibrary 中定义的 DataGridRow 样式时出现此错误:

{"找不到名为 'errorConverter]' 的资源。资源名称区分大小写。"}

我是否需要在我的解决方案中为我将使用的转换器添加另一个项目?

0 投票
2 回答
371 浏览

wpf - Wpf 如何管理静态资源?

我试图弄清楚 wpf 如何在后台管理静态资源。例如,如果我在后面的代码中获得一个静态资源并将其设置为 null 或为其定义一个新对象,则不会反映更改。但是,如果我获得静态资源并更改它的属性,则会反映更改。wpf 如何理解我是否更改了属性或设置对象引用并以这种方式运行?

感谢您的帮助。

0 投票
2 回答
509 浏览

wpf - 将边际定义为静态资源是否会产生显着的性能开销?

我有很多“乐趣”,试图使我的 XAML 中的边距(和宽度)与同一应用程序中的其他边距和同一应用程序“套件”中的其他应用程序中的边距相匹配。

所以我有了将边距定义为静态资源的想法:

..然后我计划在任何地方使用这些静态资源..标签,文本块,文本框,复选框..在我的应用程序中的几乎所有控件上。

但在我做出这个相当耗时的更改之前,我想请您就这将如何影响性能提出专家意见。

不知何故,在我看来,我决定在任何地方使用静态资源 - 写作<TextBlock Margin="{StaticResource=MarginLeftHeader}" ... />而不是<TextBlock Margin="2,4,2,2" ... />- 至少需要为每个使用它的地方调用某个函数。这对吗?

总体问题是:用户是否能够感受到性能的任何变化(变坏..或变好)?

0 投票
1 回答
1234 浏览

wpf - 某些特定计算机上某些特定静态资源的 XamlParseException

我们正在为 .NET 4 开发 WPF 应用程序。

有一天,客户告诉我,新版本在他的 Windows 7 机器上不起作用(应用程序在启动时退出),他在 Windows 事件查看器中发现了异常日志:

这个问题让我发疯,因为我和其他开发人员都无法在我们的机器上重现它,即使在 VirtualBox 中安装干净的 Windows 7 也无法重现它。

当我们试图找到破坏客户端应用程序的更改时,我们发现了有问题的部分。这是区别:

这工作正常:

这打破了:

本质上的区别只是

但是这种风格之前已经在我们应用程序的其他部分中使用过,没有任何问题!导致此异常的同一文件包含许多其他 Style="{StaticResource someotherstyle}" 并且它们在客户端计算机上工作正常。

所有这些样式都位于一个文件 ControlStyles.xaml 中。comboBoxStyle 是从某个网站复制的修改样式,类似于此: http ://social.msdn.microsoft.com/Forums/nl/wpf/thread/53134b87-1a99-4998-a1fb-b3d8a9bd2773

为什么 Style="{StaticResource comboBoxStyle}" 使我的应用程序仅在某些特定机器上崩溃以及如何修复此错误?

0 投票
2 回答
452 浏览

c# - XAML 中的嵌套资源

我正在处理 xaml 中的嵌套情况,因此我在其中有一个工具栏

虽然静态资源FC已在另一个 xaml 文件中定义为在 FC.xaml 中作为

我如何在后面的代码中使用它?请指教。

0 投票
2 回答
4469 浏览

wpf - 如何在wpf中实现主题

我想在 WPF 中实现 ASP.Net 类型的主题。用户可以选择各种预定义的主题,并可以切换到另一个主题。

为了实现这一点,我尝试为每个主题创建不同的资源字典并使用键存储所需的样式。所有主题的键集合都是相同的,但每个主题的定义不同。

我正在使用以下代码在点击时切换主题:

在所有页面/用户控件/窗口中,我设置了 StaticResource 并应用了适当的键。当我切换到另一个主题时,它仅在 UI 上的下一个事件之后应用

如果我将更改 StaticResource 设置为 DynamicResource 然后它会立即应用。

请分享您使用 StaticResource 实现这一目标的想法?

0 投票
0 回答
322 浏览

wpf - 合并字典中的静态资源查找

我一直在阅读和尝试很多,但我仍然找不到我的问题的答案。所以我真的希望你们能帮助我。

如果我有一个 TopLevel 字典、一个颜色字典和一个样式字典。

TopLevelDictionary.xaml

如果我在 Button.xaml 中使用来自 ColorDictionary.xaml 的资源,为什么静态资源不起作用?应该,不是吗?为什么我必须将 ColorDictionary 合并到我的控件样式字典中?如果我有 70 个基本控件,每个基本控件都必须合并颜色字典,我不知道为什么,但这会大大减慢我的应用程序!

有人可以建议我如何以正确的方式做到这一点吗?

问候, m00ni

0 投票
1 回答
527 浏览

wpf - get value for a resource from another resource in XAML

I want SystemColors.ControlBrushKey to have same color as SystemColors.HighlightBrushKey. How do I specify it in XAML? I've tried:

But it throws an exception: "Cannot find resource named 'SystemColors.HighlightBrushKey'. Resource names are case sensitive.". Then I've tried:

And the exception is: '#FF3399FF' is not a valid value for property 'Color'. After that I've tried:

And I've also got an error: "'HighlightBrush' is not a valid value for property 'Color'."

So how do I specify it correctly?

0 投票
2 回答
9048 浏览

wpf - Stringformat 连接数据绑定和资源的值

我想在我的窗口标题中连接我的视图模型中的一个属性和一个来自资源文件的值。这就是我在没有来自资源的字符串的情况下所做的工作:

现在我想删除“Building”字符串并从资源中输入一个值,就像我在其他地方使用的那样:

我如何定义两者?我可以定义像 {1} 参数吗?

0 投票
3 回答
4534 浏览

wpf - 尝试为 SolidColorBrush 静态资源设置动画

我想要什么

我想在多种UserControl类型中重用一些样式。

我希望某些Border控件的背景闪烁,并且我希望它们都使用相同的样式、静态资源和动画,以便它们都同步闪烁。


我是如何做到的

为此,我在资源字典中定义了一些常用颜色,如下所示:

...而且我还在这本词典中定义了一个 StoryBoard,如下所示:

然后,我将以下内容添加到顶级UserControl

...然后在其他各种UserControl作为其子级的 s 中,我重新导入ResourceDictionary上述内容并使用{StaticResource StatusErrorBackground}for a Background

有问题的元素是红色的(如SolidColorBrush声明中所示),但它们没有闪烁.


到目前为止的模糊理解

也许这样做不会针对相关元素引发适当的 PropertyChanged 通知,因此它们不会被重绘?或类似的东西。Coloron 属性SolidColorBrush不是依赖属性,而是SolidColorBrushimplements ,所以我不明白这里IAnimatable显然在幕后发生了魔法。

还是因为我在两个不同的地方(一次在我的顶层UserControl加上一次在我的孩子)导入了相同的资源字典,所以我最终得到了两个独立的StaticResource引用?如果ResourceDictionary在两个不同的控件中导入同一个文件,是否会为每个控件创建独立的资源?在这种情况下,我想我可以通过在应用程序级别将其拉入来解决此问题...

谁能告诉我我做错了什么以及如何解决它?