问题标签 [dynamicresource]

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

wpf - ListView 动态资源

当尝试将 DynamicResource 用作 ListView 的 ItemsSource 时,我的应用程序正在输出错误:

窗口必须是树的根。无法将 Window 添加为 Visual 的子项。

如果我要删除 ItemsSource 并单独保留代码,那么我不会收到错误消息,并且会显示一个空的 ListView。

我的 Window.XAML 中的 ListView 如下:

ItemsSource 是在代码隐藏中定义的 ObservableCollection。我一直在使用 MSDN 示例 (http://msdn.microsoft.com/en-us/library/ms747048.aspx) 作为创建 ListView 的指南

如何将 ObservableCollection 出价到 ListView?我是否必须在某处定义 Window.XAML 中的资源?

如果有什么我没有涵盖的,请告诉我。

感谢您的帮助,

马特

0 投票
1 回答
2112 浏览

c# - 动态更改可执行文件的资源

我有两个 C# 可执行文件,patcher.exe 和 generator.exe。
现在 patcher.exe 有一个 .Net 资源 'config.dat',它是空的。

我想要的是generator.exe,可以更改(完全覆盖)补丁程序的config.dat。这样我们就可以将具有不同配置的补丁程序分发给不同的人,而他们实际上并不了解内部处理,也不知道 config.dat 是如何生成的。

那么如何从generator.exe动态改变patcher.exe的.Net资源呢?

0 投票
2 回答
11136 浏览

wpf - 为用户控件设置样式

我正在尝试为我的用户控件设置样式。UserControl 位于项目“Controls”中,主题位于项目“MainProject”中

0 投票
3 回答
2009 浏览

wpf - 创建自己的系统颜色

基本上,我如何在静态类或类似的类中创建自己的一组颜色,以便我可以执行以下操作:

存在什么

我想要什么

0 投票
1 回答
7494 浏览

wpf - WPF 动态资源:警告消息 - “无法解析资源‘资源’。”

基本上,我有一个使用 DynamicResources 的 UserControl。应用程序使用该资源编译并运行良好,但看到此警告消息有点烦人。这让我想知道我是否做对了,这只是一个误报,或者我做错了,碰巧从它工作的裂缝中溜走了。

那么,如果我正确使用它,我怎样才能摆脱这个警告信息呢?
如果我没有正确使用它,它应该是什么样子,这样我就不会收到警告?

PS 我的应用程序运行良好,但我更喜欢在编译时没有任何编译警告。

0 投票
2 回答
2055 浏览

wpf - WPF 从 DynamicResource 到 StaticResource

我从事 WPF 项目已经有一段时间了,但现在已经有 2 个月没有碰它了。现在我回来了,我有以下问题:

我使用合并字典来创建皮肤,并在运行时轻松交换它们。但是,每个皮肤在运行时都不会改变。但是,虽然我对此不以为然,但我只是遵循了一堆教程,并且到处使用 DynamicResource,甚至不知道是否应该使用 StaticResource。

结果是,当我尝试使用 Windows XP(我使用七个)将我的应用程序发送给朋友时。Luna 主题被抛出我的应用程序,使设计变得丑陋......据我所知,它来自 DynamicResource。

所以现在,我想更改为StaticResource,我只是尝试用“StaticResource”替换每个“DynamicResource”。它向我抛出了这个异常:

然后我放了一个 try/catch 块来更好地了解问题:

用英语:Impossible to find the resource named 'styleBackground'. The resource names are case sensitive.

这是关于一个 TabItem 的。

所以这里有两个问题:我是否通过将 DynamicResource 更改为 StaticResource 来做正确的事情?如果是这样,我需要做什么?

谢谢,

FB。

编辑:程序在这些行的最后一行得到错误:

0 投票
2 回答
29829 浏览

.net - WPF 动态资源示例

是否有任何示例可以清楚地说明静态资源和动态资源之间的区别。我知道静态加载一次并在启动时绑定而动态在运行时加载并在每次控件重新加载时重新绑定的基本区别。

提前致谢

0 投票
2 回答
1918 浏览

wpf - 应用合并字典中的动态资源后,TextBlock 前景被重置为继承值

编辑:我能够在应用程序的一个非常精简的版本中重现这一点。这是 .zip 文件的链接

http://www.mediafire.com/?cn918gi15uph1xe

我让模块将视图添加到两个不同的区域 - 顶部的状态栏区域是问题发生的地方。奇怪的是,当将相同的视图类型添加到主区域时,没有任何问题。状态栏区域是 ItemsControl,主区域是 ContentPresenter。这是唯一的区别。

如果您有任何见解,请告诉我!谢谢。

-----原帖-----

大家好,

我看到 WPF 出现一些奇怪的行为。我正在使用 .NET 4 和 PRISM v4。我们构建应用程序的方式是皮肤资源字典存在于它们自己的程序集中。模块不引用这个程序集——相反,我们有一个皮肤管理器类,它从配置文件中读取我们想要的皮肤并将适当的组件加载到合并的字典中。合并字典在应用程序资源中设置(我们在添加之前清除 Application.Resources.MergedDictionaries)。这个想法是,如果需要,我们可以稍后在运行时切换皮肤,并且模块不需要知道皮肤直到运行时。

然后在我们的 xaml 中,我们使用 DynamicResource 引用样式。该问题与皮肤中定义并通过键引用的 TextBlock 样式有关,例如

样式定义了字体系列、字体大小和前景。正确应用了字体系列和大小(我验证了这一点)。然而,前景总是黑色的。我使用 Snoop 和 WPF Inspector 来查看前景值是“继承”的,而不是来自样式。

我还有一个从 TextBlock 继承的控件,它所做的只是添加一些属性来确定文本值应该是什么(它根本不影响样式)。我能够为 Foreground 属性添加属性更改覆盖,并发现样式的前景值被应用,然后继承的值被应用。我无法让 .NET 源代码调试工作,所以我无法弄清楚第二次调用它的原因/位置......

这是一个来自具有完全相同问题的人的旧帖子的链接-他没有找到答案,而是找到了解决方法。不幸的是,解决方法仅适用于继承的控件(我无法为 TextBlocks 设置 InheritanceBehavior)。

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/3501ed19-ab40-4064-81b5-e9b7b9d35b56

0 投票
1 回答
1258 浏览

wpf - .ico 中的图像作为 DynamicResource

情况是这样的:

  • 我在应用程序中有很多图标,它们以几种不同的尺寸使用。
  • 例如,我使用图标作为 DynamicResource:

    <igRibbon:MenuTool (...) LargeImage="{DynamicResource IconAdd}" />

    <s:Item (...) Icon="{DynamicResource IconAdd}"/>

  • 一些图标是 .xaml 和一些 .png 格式

  • 例如,我添加了新图标: <BitmapImage x:Key="IconAdd" UriSource="../Icons/IconAdd.png" />

问题:
我想要 .ico 格式的图标,可以用作 DynamicResource。

我想要 .ico 中的图像,因为这种文件格式允许在一个文件中包含几个不同的图像大小。.xaml 中的图标可以完全调整大小,但它们需要很长时间才能加载(因为我真的有很多!)。

是否可以将 .ico 文件添加为DynamicResource并添加x:key到其中?
即使我以某种方式添加了这些 .ico 图像,它们会改变大小(取决于它们有多少位置)?

0 投票
1 回答
203 浏览

c# - DynamicResources 无法加载以编程方式创建的控件

我有一个 WPF (3.5) 应用程序,它使用 Prism 以编程方式实例化多个视图,然后将它们添加到一个区域。我看到的问题是,在视图中作为 DynamicResources 应用的样式在第一次显示视图时没有被应用。如果我们改变屏幕并返回,它将被正确加载,相当肯定这是由于加载和卸载控件。
失败的样式是在我们的根视图中定义的样式。根视图与子视图在同一个类库中,将它们添加到应用程序资源不是一种选择,但它似乎可以解决问题。

我已经在示例应用程序中复制了这个问题。

示例用户控件

在 MainWindow 构造函数中,我添加了另一个 TestUC 实例。

当应用程序加载时,第一个实例将具有预期的红色前景,从构造函数添加的将是默认的黑色。

有趣的是,如果我将构造函数修改为如下所示,它就可以工作。

有没有一个体面的解决方案来让它发挥作用?将资源添加到应用程序资源不起作用,因为我们在同一个应用程序中有其他 shell,并且这些资源是特定于 shell 的。我们可以将资源字典合并到每个视图中并将它们切换到 StaticResources,但是视图非常多,因此我们也希望避免这种解决方案。

更新:发现了这个连接问题,但它真的没有多大帮助。