问题标签 [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 - 是否可以将 clr:string 的 DynamicResource 绑定到另一个源而不是文字?
我只是在学习,并且很好奇我是否可以将string
文字绑定centralRes
到另一个控件的 Text 属性(如src.Text
),所以当它更新时,所有绑定到它的东西都会dst
自动更新。
几乎就像一个信息的中心枢纽。这可能吗?
我想要的示例:
wpf - 如何为我的自定义控件提供递归数据模板
我有一个自定义控件,它基本上是一种 TreeView。现在问题是我需要在我的 TreeView 控件中有任何级别的细节,所以我想出了以下数据模板
我有以下 Generic.xaml
这是我的自定义控件构造函数
这就是控制的样子
这是我认为的问题
对于同一模板的递归调用,我正在使用DynamicResource
. 这从未对我有用,实际资源从未被调用过。如果我将其更改为StaticResource
,它将无法编译,因为它不会看到自己。我如何解决它 ?
完整的解决方案可以在这里下载。
wpf - 动态资源不工作
我有一个 CustomControl 库,其控件定义如下:
哪个工作正常。
但是,如果我将“StaticResource”更改为“DynamicResource”,红色不再拾取?
为什么是这样?
c# - 如何在 WPF 中的代码中复制资源引用?
在我的应用程序中,我有一个颜色资源。我有一个元素使用该颜色作为 xaml 中的动态资源。
在代码中,我想复制这个资源引用。
但是,SetResourceReference 仅适用于 FrameworkElements 或 FrameworkContentElements。SolidColorBrush 只是一个 Freezable。另外,我不知道如何在后面的代码中获取资源引用。
有没有办法在 WPF 中做到这一点,以便两种颜色同时改变?在我的实际应用程序中,问题并不是那么简单,所以我不能只在 xaml 中添加第二个 DynamicResource。
wpf - 如何将内容动态放入控件中
我在 XAML 中有两个几乎相同的 GUI 结构,不同之处在于一个 StackPanel 在各自的结构中有一个 Image 和一个 Rectangle,StackPanel 还包含其他内容。我只想写一次孔结构,并拥有一个放置图像或矩形的动态资源。代码基本上是这样的:
是否有可能以这种方式动态分配任何类型的占位符(而不是 Object-Tag)?
c# - How to change a DynamicResource from C# code?
I have a simple "Play/Pause" button that shows the "play" icon at the start of the application. Here's its code:
What I want to do is change the play icon to a pause icon when it's pressed. All I have to do is change the content to {DynamicResource appbar_control_pause}
. However, when I do the following:
it shows just the string literally, inside the button. How could I change that property?
wpf - 如何在 WPF 中通过 DynamicResource 打破 TextBlock 的文本
在这里,我在页面中有一个资源
我想使用 DynamicResource 本地化我的应用程序,因此,我的 TextBlock 的 Text 属性是对此 DynamicResource 的引用
我更喜欢第一行的“Hello”和第二行的“The world”,所以我使用“”,但它被视为一个空格。
如果我直接将字符串“Hello The world”分配给 TextBlock.Text
它正确中断。
那么,如何在 DynamicResource 中打破字符串?
wpf - WPF 静态资源与动态资源
我的 Xaml 如下
在我后面的代码中,它看起来像
我的问题是,如果我先单击 ChangeBrushObject 按钮,它会将动态按钮更改为黄色,然后单击 ChangeColorProperty 按钮,它只会将动态按钮更改为蓝色,而不影响静态按钮。
但是,如果我自己单击 ChangeColorProperty 按钮,它会将静态和动态按钮都更改为蓝色。
为什么它会这样?尝试将新对象分配给已被控件引用为静态资源的资源时,WPF 不会引发任何警告?
我还测试了动态资源引用的不存在资源。正如预期的那样,如果 StaticResource 引用了不存在的资源,Xaml 将在编译时抱怨,而 DynamicResource 不会。但是,如果我单击 GenerateResourceForDynamic 按钮,它会显示绿色作为背景,但随后会消失,然后再次出现并重复。为什么会这样?
编辑:添加了冻结资源,再次出现奇怪的行为。如果我单击 ChangeFreezeColorProperty 按钮,它将通过异常。如果我单独单击 ChangeFreezeBrushObject,它将更改 FreezeBrushDynamic 按钮颜色。但是,如果我单击 ChangeFreezeBrushObject,然后单击 ChangeFreezeColorProperty,则不会引发异常。
我认为进行资源冻结将使与资源链接的对象的属性为只读。这就是为什么在更改属性时,它将通过异常抱怨只读状态。然而 freeze 并不能阻止我们改变对象本身。
c# - 如何通过WPF中的代码将字符串绑定到动态资源
我目前正在开发一个项目,我使用 Caliburn 在 View 和 ViewModel 之间进行绑定。为了能够在运行时切换语言,我有单独的资源文件,其中包含应用程序中使用的所有字符串。一些例如 TextBlock 文本绑定绑定到字符串资源之一,如下所示:
SampleView.xaml
<TextBlock Text={DynamicResource Foo.Bar.Baz}
.../>
Language.en-US.xaml
<system:String x:Key="Foo.Bar.Baz">Im a string</system:String>
当我将应用程序的文化更改为不同的语言时,与 Foo.Bar.Baz 的动态绑定会使字符串在运行时更新为新语言。伟大的!
但是,应用程序中的一些文本属性使用 Caliburn 绑定到 ViewModel 中的字符串,如下所示:
SampleView.xaml
<TextBlock Text={Binding SampleText}
.../>
SampleViewModel.cs
public string SampleText { get; set; }
的值SampleText
设置为来自 Language.en-US.xaml 的字符串资源,如下所示:
...
SampleText = Application.Current.FindResource("Foo.Bar.Baz") as string;
...
不幸的是,当我更改应用程序文化时,字符串SampleText
没有更新。
因此,问题是: 如何将 SampleText 设置为 Language.en-US.xaml 中的字符串资源,当我更改应用程序文化时它会自动更新?
注意:通过对此 StackOverflow 问题的评论,我了解到可以通过这样的绑定:
SampleText = Application.Current.Resource["Foo.Bar.Baz"] as string;
但是,这对我不起作用。
wpf - 有没有办法让 DynamicResource 对于 ResourceDictionary 中的 Freezable 是动态的?
我在 Brushes.xaml 中有这个:
并在 Generic.xaml 中像这样使用它:
问题是 wpf 冻结了画笔,所以DynamicResource
没有效果。
有没有一种干净的方法来解决这个问题?我只能想到讨厌的黑客。