我在Xamarin Forms共享项目上使用Frame控件.我只是有一些风格:
<Color x:Key="Info">#0060ac</Color>
...
<Style x:Key="LabelContainer" TargetType="Frame">
<Setter Property="Padding" Value="5" />
<Setter Property="HorizontalOptions" Value="Fill" />
</Style>
<Style x:Key="LabelContainer-Info" TargetType="Frame" BasedOn="{StaticResource LabelContainer}">
<Setter Property="BackgroundColor" Value="{DynamicResource Info}" />
</Style>
Run Code Online (Sandbox Code Playgroud)
和XAML页面中的简单Frame控件:
<Frame x:Name="CreditCardPaymentResultFrame" Style="{StaticResource LabelContainer-Info}" Padding="0">
<Label x:Name="PaymentErrorLabel" Text="Lorem ipsum" IsVisible="True"
HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"
VerticalTextAlignment="Center" HorizontalTextAlignment="Center"
FontSize="18" TextColor="White">
</Label>
</Frame>
Run Code Online (Sandbox Code Playgroud)
我得到这样的事情:
现在,如果我尝试在运行时更改背景颜色:
CreditCardPaymentResultFrame.BackgroundColor = Color.FromHex("#ed3700");
Run Code Online (Sandbox Code Playgroud)
框架控件失去边框圆度:
我不明白这种行为,我需要改变背面颜色,但我想保持圆形边缘.
感谢任何帮我的人