我有一个标签,它看起来像这样:重置在XAML Xamarin.Forms的默认样式值的属性
<Label Style="{StaticResource myStyle}" x:Name="TestLabel">
绑定的样式设置标签,红色的背景色。
再后来就在代码中,我这样做:
TestLabel.SetValue(Label.BackgroundColorProperty, Color.Green);
此设置标签的背景颜色为绿色。
但后来,我需要清除的绿色,我手动设置,我需要将其重置为默认值,通过绑定的风格决定(在这种情况下,红色)。
所以我这样做:
TestLabel.ClearValue(Label.BackgroundColorProperty);
但不是恢复到红色,背景色被完全除去,变得透明(这是一个标签的默认设置,不附带任何样式)。
(一种解决方案,提供本身就TestLabel.SetValue(Label.BackgroundColorProperty,Color.Red);,但我不能这样做,因为我需要的颜色恢复到任何连接到它的风格说,是,由于不同的标签具有连接不同的样式)
您使用mvvm模式吗? –
为什么就不能跟踪以前的颜色,并设置它,当你试图将其复位。 'var color = TestLabel.BackgroundColor; ... TestLabel.BackgroundColor =颜色;' – Ada