【问题标题】:Get DynamicResource Binding in WPF在 WPF 中获取 DynamicResource 绑定
【发布时间】:2010-12-16 09:17:39
【问题描述】:

谁能帮我通过代码获取WPF中的DynamicResource Binding?

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

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

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


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

【问题讨论】:

    标签: wpf binding dynamicresource


    【解决方案1】:

    您可以使用 FrameworkElement.SetResourceReference 方法:

    MSDN:http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.setresourcereference.aspx

    如果你的 xaml 有这个:

    <TextBlock x:Name="TB">
    

    你可以在后面的代码中这样写:

    TB.SetResourceReference(BackgroundProperty, "ColorA");
    

    【讨论】:

    • 这是关于如何在代码中创建 DynamicResource 绑定的一个很好的答案。不幸的是,这不是对 OP 问题的答案,但写得很好,并且可能会帮助到这里寻找这个答案的其他人。 +1
    【解决方案2】:

    你可以用这个:

    YourControl.Style = this.FindResource(NameOfYourStyleForThisControl) as Style;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 2018-07-31
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多