我有一个动态创建IMultiValueConverter
控件的TextBlock
。问题是它没有样式。
如何告诉我的新TextBlock
使用我的XAML资源字典中定义的样式?
答案 0 :(得分:1)
我之前从未尝试过这种方法,并且根据您的转换器正在做什么,我认为如果您的XAML资源字典是外部的,那么将其链接到显示TextBlocks的窗口:
<Window.Resources>
<ResourceDictionary Source="[the path to the resource dictionary]"/>
</Window.Resources>
然后在文本块中,确保它们具有在资源字典中定义的附加样式。如果在后面的代码中创建文本块我相信你应该能够使用FindResource来定位资源字典链接的样式。然后做这样的事情:
textBlock1.Style = (Style)FindResource("myTextBlockStyle");
答案 1 :(得分:1)
请参阅以下问题:how to use DynamicResource in the code behind?
使用SetResourceReference
,相当于在Xaml中使用DynamicResource
因此,如果您的Style
拥有Key myTextBlockStyle
TextBlock textBlock = new TextBlock();
textBlock.SetResourceReference(FrameworkElement.StyleProperty, "myTextBlockStyle");