问题标签 [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.
wpf - SelectedColor 绑定不会从 ColorPicker 更新到 Model
我有一个 WPF 应用程序,我需要允许更改外观(主要是背景和前景)。所以我将它们绑定到在App.resources
.
我还决定在“设置”窗口中使用ColorPicker
from wpftoolkit
(v2.5.0)
简化示例
应用程序.xaml
带有颜色选择器的MainWindow.xaml
主窗口.cs
刷子模型
问题是当我选择颜色时,AppBrush 中的BREAKPOINT没有被命中。BrushColor
必然ColorPicker SelectedColor
。如果我改变BrushColor
,ColorPicker
就会更新。
是 ColorPicker 错误还是我的?选择更改后如何立即更新应用画笔?
c# - 如何在没有 DependencyProperty 设置的情况下通知 DynamicResource 更改(相对于特定 FrameworkElement)?
有一个奇怪的要求。当动态资源相对于 FrameworkElement 发生更改时,我需要得到通知,但我没有在该 FrameworkElement 上设置属性。因此,我不能{DynamicResource someKey}
在 XAML 中使用,也不能someElement.SetResourceReference()
在代码隐藏中使用。
现在获取当前值很容易。您只需调用即可someElement.FindResource("someKey")
获得当前值,但这需要轮询。
我考虑创建一个人造绑定源对象,然后我可以绑定到该对象,但问题是它不是可视化树的一部分,因此除非该资源是在应用程序级别定义的,否则您将无法获得它。你也不能把东西塞进视觉树。
我已经看到一个使用可以定义 DependencyProperty 的行为的答案,并且当附加到 FrameworkElement 时,它们确实会像人们所怀疑的那样进行更新,但这需要 XAML,因为我不知道如何调用 FrameworkElement 的 setResourceReference 的等效行为.
所以……想法?
c# - 行为如何访问关联元素的资源层次结构?
在今晚解决一个围绕动态资源的问题时,我最终得到了一个依赖于Behavior
类参与其相关框架元素的资源层次结构的能力的解决方案。例如,考虑以下
TextBlock 将显示来自边框的资源。但是,如果我这样做...
...它从应用程序中找到一个,因为它不是可视树的一部分。
也就是说,如果我改为这样做......
然后像这样将它添加到 TextBlock ...
该行为确实获得了资源的价值,并将动态跟踪它。但是怎么做?
行为不是 FrameworkElement,因此您不能对其调用 SetResourceReference,它也不是可视树的一部分,因此即使您可以调用 SetResourceReference,它仍然无法找到 FrameworkElement 本地的资源。然而,这正是 Behavior 所做的。如何?
换句话说,如果我们想编写我们自己的类来展示同样的行为(不是双关语),如何将自己插入到可视化树的资源层次结构中?
c# - 如何绑定到 DynamicResource 以便可以使用 Converter 或 StringFormat 等?(修订版 4)
注意:这是对早期设计的修订版,其局限性在于无法在样式中使用,从而在很大程度上否定了其有效性。但是,这个新版本现在可以与样式一起使用,基本上让您可以在任何可以使用绑定或动态资源的地方使用它,并获得预期的结果,使其更加有用。
从技术上讲,这不是问题。这是一篇文章,展示了一种我发现可以轻松使用以 aDynamicResource
作为源的转换器的方法,但为了遵循 s/o 的最佳实践,我将其作为问答对发布。所以看看我下面的答案,我发现了如何做到这一点。希望能帮助到你!
c# - 对网格中所有同类元素应用相同的动态样式
我有一个充满标签的网格,它们都使用相同的样式,即 DynamicResource:
有没有办法只为网格中的所有标签设置一次样式?我尝试过这种方式,但BasedOn
不适用于DynamicResources
.
xaml - 对 XAML 中的按钮使用 DynamicResource 样式和 DataTrigger
我正在使用预定义的样式,例如Style="{DynamicResource SquareButtonStyle}"
无法修改,我需要启用/禁用Button
via DataTrigger
。
这似乎是不可能的事?
错误是:属性“样式”设置了多次。
c# - 显示多行动态资源标签
我希望在 WPF 中添加一个标签,显示来自两个不同 DynamicResources 的字符串。
我希望每个 DynamicResource 都在一个新行上。
我现有的代码是:
我有另一个名为 MyTextLine2 的 DynamicResource 我想显示在 MyTextLine1 下方但在同一个标签中。
我怎样才能做到这一点?
我在这里查看了这些示例,但它们没有显示在新行上:如何将多个值绑定到单个 WPF TextBlock?
wpf - 在 Style.Resources 中使用 StaticResourceExtension 时出错
我在模板中使用 DynamicResource,并在使用该模板的每个样式中使用 StaticResourceExtensions 作为资源,以便在每个样式中对 DynamicResource 进行不同的评估。
问题是,我收到此错误:
这是我的代码:
c# - 如果图像(来自动态资源)不可用,则按钮默认内容
在 UserControl 中,我希望按钮显示图像(由动态资源提供)。如果动态资源不可用/由应用程序提供,我希望按钮显示一些默认内容。
我的想法是将默认内容放入位于图像下方的文本块中,只要图像源为空,就将其隐藏(因此它不会发光)。但是,如果解析 DynamicResource 失败,这种情况似乎不起作用。在这种情况下,图像源的状态究竟是什么?
什么是适当的解决方案?
谢谢你的帮助!