我正在尝试根据其运行的设备更改条目的背景。 我尝试根据以下信息执行此操作:https://developer.xamarin.com/guides/xamarin-forms/xaml/passing-arguments/
并得到了这个:
<Entry TextColor="White"
x:Name="entryTop"
HeightRequest="40"
WidthRequest="150"
RelativeLayout.XConstraint = "{ConstraintExpression Type=RelativeToParent,
Property=Width,
Factor=.48,
Constant=10}"
RelativeLayout.YConstraint = "{ConstraintExpression Type=RelativeToParent,
Property=Height,
Factor=0,
Constant=5}" >
<Entry.BackgroundColor>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="Transparent" />
<On Platform="iOS" Value="white" />
</OnPlatform>
</Entry.BackgroundColor>
</Entry>
当我尝试构建我的项目时,我收到此错误:没有为&#39; BackgroundColor&#39;找到属性,可绑定属性或事件,或者值和属性之间的类型不匹配。
我尝试使用颜色工厂方法和几个TypeArguments,但似乎无法获得正确的。
答案 0 :(得分:1)
我找到了答案:
<Entry.BackgroundColor>
<OnPlatform x:TypeArguments="Color"
Android="#5b5b5b"
iOS="#fff">
</OnPlatform>
</Entry.BackgroundColor>
以这种方式使用时,TypeArgument Color仅接收十六进制值。它不适用于RGB或静态颜色(“白色”,“黑色”等)。我希望这会有所帮助。