问题标签 [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 投票
4 回答
15860 浏览

wpf - Wpf 工具包。将 DataGrid 列标题绑定到 DynamicResource

我正在尝试使用以下代码将 DataColumn Header 绑定到 DynamicResource。

但出于某种奇怪的原因,列标题仍然为空。然而,StaticResource 运行良好。您能否帮我弄清楚如何将该 Header 属性绑定到一些 DynamicResource。

0 投票
1 回答
134 浏览

wpf - 试图了解应用程序资源分配的细节

我有一个 ItemsSource="{DynamicResource testResource}" 的组合框。testResource 是我在 C# 代码中设置的 Application 资源。

我注意到的是,如果我在创建应用程序之前加载 Window,则 ComboBox 不会加载资源:

此代码有效

此外,即使我在应用程序之前创建了窗口,我也可以稍后在按钮单击处理程序中加载资源。

有人可以解释一下,会发生什么?为什么顺序很重要?

Window1.xaml:

C#

0 投票
1 回答
699 浏览

c# - DependencyPropert 未使用 DynamicResource 作为参数从 XAML 设置

我正在尝试开发一个自定义的三态按钮用户控件,到目前为止我一直在使用 CTF 来设置属性。
但我想将其更改为使用带有 PropertiesDependencies 的 WPF 属性系统。

不幸的是,当我使用 DynamicResource 从我的 xaml(父亲)设置属性时,我无法使其工作,但未设置该值。

这是我的按钮控制器中的代码:

我什至还没有在我的按钮 xaml 中使用该属性,但它显然甚至没有进入 Setter。我在网上搜索了很多都没有成功。所以也许我错过了一些东西。

提前感谢您的帮助,鲍里斯

0 投票
2 回答
2818 浏览

wpf - WPF:动态标记扩展-重新渲染/更新值

我正在使用标记扩展在 WPF 应用程序中加载国际化字符串,如下所示:

我的标记扩展名为“TranslateExtension”,它从数据库中搜索键“MyText”的值。它在

返回正确字符串的方法。一切正常。

我的问题是,ProvideValue-Method 永远不会被再次调用,并且当语言发生更改时,无法从数据库中提取新字符串。我现在需要一种方法来使返回值“动态”,使按钮重新加载它的 xaml 并重新使用标记扩展,无论它是通过更改语言时抛出的事件还是其他什么。如何让系统再次调用 ProvideValue-Method?我尝试了 InvalidateVisual() InvalidateArrange() InvalidateMeasure() UpdateLayout() 之类的...

我希望我说清楚了。请随时询问您认为您能够提供想法或解决方案的更多信息。谢谢

0 投票
1 回答
2238 浏览

wpf - ComponentResourceKey as DynamicResource 问题

我看到一些使用 ComponentResourceKey 的意外行为。出现问题是因为我使用了 SystemColors 类中使用的名称。

考虑以下代码:

首先,我将 a 中的 ComponentResourceKey 作为静态属性公开:

使用标记中的键将资源分配给该键是可行的。使用 ComponentResourceKey 标记将该资源作为 DynamicResource 调用是可行的。但是使用静态属性调用相同的资源会解析为 SystemColors.ControlColorKey 资源。

这是xaml:

显示窗口时,“详细”按钮会正确显示蓝色背景。但下方的“静态”按钮显示 SystemColors.ControlColorKey 颜色。

将静态属性的名称更改为另一个名称会使两个画笔都解析为正确的颜色。

但是我不确定为什么 DynamicResource 对键的静态实例和标记实例化的解析不同?

谢谢,

ķ

PS:这里是 ResourceDictionarySource 的相关跟踪输出

0 投票
2 回答
1381 浏览

wpf - WPF 动态资源参考

你好

我加载了一个字符串 xaml,并将 DynamicResource 分配给了 Background 属性。有没有办法获取动态资源的引用。

我想在运行时获取分配给依赖属性的资源引用 Pl help

0 投票
2 回答
4681 浏览

wpf - 在 WPF 中获取 DynamicResource 绑定

任何人都可以帮助我通过代码在 WPF 中获取 DynamicResource Binding 吗?

我已经设置了绑定,如下所示,

Xaml 中的 TextBlock Background={DynamicResource ColorA} Name="TB"。

我需要得到 - TB 的背景绑定到“ColorA”。如何通过编码访问 WPF 中的此 DynamicResource 绑定表达式。当我尝试获取 TB.Background 时,它是白色的(#FFFFF ..),或者如果我已经为将给出的 Resorce 键“ColorA”提供了值。但我想得到这个绑定表达式。提前感谢您的帮助。


我认为我的问题不清楚。我想通过代码获取 Xaml 中对“TB”所做的资源绑定。但不是任何 TB.GetResourceReference。我想要一些这样的想法。该 Binding 表达式保存在 WPF 中的位置。我需要获取 TB 的 BackgroundProperty 绑定到哪个(回答“ColorA”)键?非常感谢您的突然回复。

0 投票
1 回答
1269 浏览

wpf - 如何基于另一个动态资源定义动态资源的价值?

是否可以从另一个动态资源为动态资源分配价值?
例如

0 投票
1 回答
1209 浏览

wpf - DynamicResource 不工作,但 StaticResource 可以吗?

这是场景:

1)打开Visual Studio 2008,新建项目...

2)选择WPF自定义控件库作为项目类型

3) 打开位于 Themes 文件夹中的 Generic.xaml 资源字典

4)添加一个简单的画笔,例如:

< SolidColorBrush x:Key="BackgroundBrush" Color="Yellow" />

5) 将嵌套 Borer 控件的 Background 属性从

背景="{模板绑定背景}"

背景="{DynamicResource BackgroundBrush}"

现在当你在任何项目中编译和使用这个控件时,背景不会是黄色的。但是,如果您将背景属性更改为 StaticResource

背景="{StaticResource BackgroundBrush}"

......它会工作。为什么是这样?为什么 StaticResource 有效,DynamicResource 无效???

0 投票
2 回答
6392 浏览

wpf - (WPF) 如何从 ResourceDictionary 将 sys:Double 的值设置为 SystemFonts.MessageFontSize?

设想:

我想为我的 WPF 应用程序使用 3 种标准字体大小:BigFontSizeNormalFontSizeSmallFontSize. 这些是双精度值,它们在资源字典中定义为(sys适当定义的位置):

这很好用。但我随机选择了 14 作为正常尺寸。我想要的是获得系统定义的字体大小NormalFontSize。(如果完成了,我可以使用此处描述的转换器来获取BigFontSizeSmallFontSize相对于NormalFontSize


线索:

我从文档中发现默认字体大小存储在静态属性 (double)SystemFonts.MessageFontSize中。但是我应该怎么做才能将该值检索到资源字典?(我知道BindingDynamicResource不能应用。但是,嘿,这是一个静态值,所以我该如何应用StaticResourcex:Static什么?)

我试过了

两者似乎都不起作用(如预期的那样)。我收到一条错误消息Cannot add content to object of type 'System.Double'.

笔记:

  • 我不想从代码中执行此操作,例如从 App()。(是否可以为 ResourceDictionary 提供代码隐藏?)
  • 我不想将其封装为可以派生其他样式的通用样式(使用BasedOn),因为我有几个资源字典,并且无法使用DynamicResourcewithBasedOn
    也就是说,我不能使用

    因为,如果我在其他 ResourceDictionary 中有一个样式,比如说HeaderTextBlockStyle,那么我将不得不使用BasedOn={DynamicResource BigFont}这是不可能的(我认为)

任何帮助将不胜感激。
谢谢你。

标签: WPF SystemFonts.MessageFontSize ResourceDictionary FontSize BasedOn DynamicResource