在 WPF 中,是否可以将“{StaticResource key}”中的键绑定(bind)到变量。
例如。我有一个变量 执行状态 与州 活跃和 已完成 .
在我的 ResourceDictionary 我有
<Style TargetType="{x:Type TextBlock}" x:Key="Active">
<Setter Property="Foreground" Value="Yellow"/>
</Style>
<Style TargetType="{x:Type TextBlock}" x:Key="Completed">
<Setter Property="Foreground" Value="Green"/>
</Style>
而不是拥有
<TextBlock Style="{StaticResource Active}"/>
我想要类似的东西
<TextBlock Style="{StaticResource {Binding ExecutionState}}"/>
因此,如果状态改变,文本颜色也会改变。
这样的事情甚至可能吗?
我可以使用触发器实现想要的功能,但我必须在多个地方重用它,而且我不想弄乱我的代码。
我也在使用 MVVM。
谢谢
最佳答案
不,这是不可能的。绑定(bind)只能在 DependencyProperty 上设置。 StaticResource 不是 DependencyObject,因此没有 DependencyProperty。您应该使用触发器或开发自己的附加行为。
关于wpf - 将 <object property ="{StaticResource key}".../> 中的 Key 绑定(bind)到一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10188909/