如何从代码隐藏中使用DynamicResource?

时间:2013-12-02 10:30:07

标签: c# wpf resources

我经常在XAML中编写以下代码:

(...)
xmlns:vs="clr-namespace:Microsoft.VisualStudio.Shell;assembly=Microsoft.VisualStudio.Shell.12.0"
(...)

<Path Fill="{DynamicResource {x:Static vs:VsBrushes.GrayText}}">

如何从代码隐藏中创建此类Path? (确切地说:如何将DynamicResource附加到依赖项属性?)

2 个答案:

答案 0 :(得分:1)

我希望这会有所帮助:FrameworkElement.SetResourceReference Method

编辑:在您的情况下,它应如下所示:

pathObject.SetResourceReference(Path.FillProperty, Microsoft.VisualStudio.Shell.VsBrushes.GrayText);

我不知道为什么文档说第二个参数应该是Object name,它实际上接受了资源Key

答案 1 :(得分:1)

我可以使用FrameworkElement.SetResourceReference Method来回答你的一半问题:

PathName.SetResourceReference(Path.FillProperty, "NameOfBrush");

但是,我不太确定你如何使用vs:VsBrushes.GrayText Brush