将静态资源样式应用于转换器中创建的UIElement

时间:2011-09-07 16:16:53

标签: wpf binding ivalueconverter uielement staticresource

我将ItemsSource的{​​{1}}绑定到ItemsControl,然后使用转换器根据Textbox属性创建UIElement对象Text。我还有一个静态资源样式,我想应用于我创建的元素。

我遇到的问题是如何将转换器中创建的项目的样式设置为静态资源,因为我无法访问转换器类中的静态资源。

2 个答案:

答案 0 :(得分:1)

要在StaticResource中使用Converter,您可以将Style作为ConverterParameter发送。

如果您已经在使用ConverterParameter,那么可以从Converter派生DependencyObject,添加一个依赖属性,并在创建时将其设置为Style Converter

但是,如果您知道资源的密钥,最简单的解决方案可能是使用DynamicResource

以下Xaml

<UIElement Style="{DynamicResource styleKey}" />

等同于以下C#代码

myUIElement.SetResourceReference(StyleProperty, "styleKey");

答案 1 :(得分:0)

任务不可能! :)我想你可以使用ConverterParameter作为静态资源。一切都会好的!