Я пытаюсь сделать это XAML:
<UserControl.Resources>
<Style TargetType="Label">
<Setter Property="Foreground" Value="Blue"/>
</Style>
</UserControl.Resources>
в коде C #.
Вот моя попытка в конструкторе UserControl
:
InitializeComponent();
string labelForegroundColor = "Blue";
string labelXAMLStyle = @"<Style xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' TargetType=""Label"">
<Setter Property=""Foreground"" Value=""{LabelForegroundColor}""/>
</Style>";
labelXAMLStyle = labelXAMLStyle.Replace("{LabelForegroundColor}", labelForegroundColor);
StringReader mainLabelStyleXAMLStringReader = new StringReader(labelXAMLStyle);
XmlReader mainLabelStyleXAMLXMLReader = XmlReader.Create(mainLabelStyleXAMLStringReader);
Style mainLabelStyle = (Style)XamlReader.Load(mainLabelStyleXAMLXMLReader);
this.Resources.Add("LabelStyle", mainLabelStyle);
Когда у меня есть XAML в моем UserControl
, он, очевидно, работает, но когда я удаляю XAML и добавляю код в мой UserControl
Constructor;это не так.
Куда я иду?Нужно ли добавлять какой-то словарь ресурсов?
Как мне правильно настроить стиль всех Label
в моем конкретном UserControl
?