我正在尝试执行此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);
当我在UserControl
中包含XAML时,它显然可以工作,但是当我删除XAML并将代码添加到我的UserControl
构造函数中时;不是。
我要去哪里错了? 我必须添加某种资源字典吗?
如何正确设置一个特定的Label
中所有UserControl
的样式?
答案 0 :(得分:1)
您可以尝试以编程方式创建样式,然后将其添加到资源中。
self.loginButton.tag