Ответ 1
Вы можете попробовать:
tb.Style = (Style)FindResource("FormLabelStyle");
Наслаждайтесь!
Я хочу создать в коде эквивалент этого в XAML:
<TextBlock
Text="Title:"
Width="{Binding FormLabelColumnWidth}"
Style="{DynamicResource FormLabelStyle}"/>
Я могу сделать текст и ширину, но как назначить динамический ресурс стилю:
TextBlock tb = new TextBlock();
tb.Text = "Title:";
tb.Width = FormLabelColumnWidth;
tb.Style = ???
Вы можете попробовать:
tb.Style = (Style)FindResource("FormLabelStyle");
Наслаждайтесь!
Вы должны использовать FrameworkElement.SetResourceReference, если вам нужно истинное поведение DynamicResource - то есть обновление целевого элемента при изменении ресурса.
tb.SetResourceReference(Control.StyleProperty, "FormLabelStyle")
Это должно работать:
tb.SetValue(Control.StyleProperty, "FormLabelStyle");