我的一个表单上有一堆数据绑定(bind)开关:
<Label Grid.Column="0" Grid.Row="0" Text="option 1" VerticalOptions="Center" FontSize="Large" HorizontalOptions="Start"/>
<Switch Grid.Column="1" Grid.Row="0" IsToggled="{Binding Options.One, Mode=TwoWay}" HorizontalOptions="End"/>
<Label Grid.Column="0" Grid.Row="1" Text="option 2" VerticalOptions="Center" FontSize="Large" HorizontalOptions="Start"/>
<Switch Grid.Column="1" Grid.Row="1" IsToggled="{Binding Options.Two, Mode=TwoWay}" HorizontalOptions="End"/>
<Label Grid.Column="0" Grid.Row="2" Text="option 3" VerticalOptions="Center" FontSize="Large" HorizontalOptions="Start"/>
<Switch Grid.Column="1" Grid.Row="2" IsToggled="{Binding Options.Three, Mode=TwoWay}" HorizontalOptions="End"/>
<Label Grid.Column="0" Grid.Row="3" Text="option 4" VerticalOptions="Center" FontSize="Large" HorizontalOptions="Start"/>
<Switch Grid.Column="1" Grid.Row="3" IsToggled="{Binding Options.Four, Mode=TwoWay}" HorizontalOptions="End"/>
<Label Grid.Column="0" Grid.Row="4" Text="option 5" VerticalOptions="Center" FontSize="Large" HorizontalOptions="Start"/>
<Switch Grid.Column="1" Grid.Row="4" IsToggled="{Binding Options.Five, Mode=TwoWay}"/>
功能上,这按预期工作。但是,我发现 UI 有点奇怪...
如果绑定(bind)源在页面显示时提供“true”,则开关控件看起来就像我所期望的那样 - 漂亮而明亮,无论我切换多少次。
但是,如果绑定(bind)源提供“false”,然后您将开关切换为“on”,那么它看起来会褪色 - 几乎就像被禁用一样,即使它完全可用。
正如我所说,这背后的功能有效 - 我的绑定(bind)属性正在正确更新 - 只是视觉外观困扰着我:)
在此图中,奇数选项的所有绑定(bind)属性都设置为“true”,而偶数选项的绑定(bind)属性则设置为“false”。 然后我将每个选项关闭和打开几次:
最佳答案
这是一个 bug在 XF 4.2.0 中引入。要解决此问题,您需要降级到4.2.0以下版本或升级到Xamarin.Forms 4.4.0.991210-pre2(4.4.0 Pre Release 2)或更高,其中 bug was fixed 。
如果可能,我的建议是升级到 XF 4.4.0 稳定版。
关于xamarin - 默认情况下未切换时,开关控件显示为淡色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59612963/