如何为iOS和Android平台配置Entry控件的不同StaticResource样式
实现方案
这个需求完全可以实现,使用XAML原生的OnPlatform标记扩展即可实现不同平台加载不同样式的需求,无需修改后台逻辑或样式定义。
你只需要将原Entry控件中的Style="{StaticResource AEntry}"代码替换为如下内容即可:
Style="{OnPlatform Default={StaticResource AEntry}, Android={StaticResource BEntry}}"
修改后的完整Entry代码如下:
<Entry x:Name="Partijladen" Grid.Row="15" Grid.Column="4" Grid.ColumnSpan="2" Keyboard="Numeric" Style="{OnPlatform Default={StaticResource AEntry}, Android={StaticResource BEntry}}" TextChanged="Partijladen_TextChanged" />
补充说明
OnPlatform是Xamarin.Forms/.NET MAUI的原生内置标记扩展,会在运行时自动判断当前运行平台,加载对应的值- 上述写法默认非Android平台都使用AEntry样式,仅Android平台加载BEntry样式,如果你需要给iOS、Windows等其他平台单独指定样式,也可以在参数中追加对应平台的资源配置
- 你已经定义在App.xaml中的两个样式不需要做任何调整,直接使用即可
内容的提问来源于stack exchange,提问作者Bas H
相关产品推荐
相关产品推荐

