如何在代码中分配dynamic资源样式?

我想在代码中生成与XAML相同的代码:

<TextBlock Text="Title:" Width="{Binding FormLabelColumnWidth}" Style="{DynamicResource FormLabelStyle}"/> 

我可以做的文字和宽度,但我如何分配dynamic资源的风格:

 TextBlock tb = new TextBlock(); tb.Text = "Title:"; tb.Width = FormLabelColumnWidth; tb.Style = ??? 

你可以试试:

 tb.Style = (Style)FindResource("FormLabelStyle"); 

请享用!

如果您需要真正的DynamicResource行为,则应该使用FrameworkElement.SetResourceReference – 即在资源更改时更新目标元素。

 tb.SetResourceReference(Control.StyleProperty, "FormLabelStyle") 

这应该工作:

 tb.SetValue(Control.StyleProperty, "FormLabelStyle");