如何在代码中分配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");