我的标签样式定义如下:
var myLabelStyle = new Style(typeof(Label))
{
Setters =
{
new Setter { Property = Label.TextColorProperty, Value = Color.Blue },
new Setter { Property = Label.FontSizeProperty, Value = 30 }
}
};
然后我有一个像这样定义的标签:
var myLabel = new Label
{
Text = "My Label",
Style = myLabelStyle,
TextColor = Color.Red
};
该标签的颜色不应该是红色吗?嗯,它是蓝色的。
我应该能够根据直觉和Xamarin docs覆盖Style中定义的任何给定属性(参见截图后的单个句子)。
是什么给出了?
答案 0 :(得分:2)
似乎是在版本2.0.0.6482(按预期工作)和版本2.2.0.31 之间介绍的 Xamarin Forms错误(损坏!无法按预期工作)。
答案 1 :(得分:0)
我认为你的代码没有任何问题:它在这个例子中起作用:
var myLabelStyle = new Style(typeof(Label))
{
Setters =
{
new Setter { Property = Label.TextColorProperty, Value = Color.Blue },
new Setter { Property = Label.FontSizeProperty, Value = 30 }
}
};
var myLabelRed = new Label
{
Text = "My Red Label",
Style = myLabelStyle,
TextColor = Color.Red
};
var myLabelBlue = new Label
{
Text = "My Blue Label",
Style = myLabelStyle,
};
var content = new ContentPage
{
Content = new StackLayout
{
Children = {
myLabelRed,
myLabelBlue
}
}
};
的iOS:
机器人: