You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无代码的.NET MAUI自定义UnmodifiedEntry为何与基础Entry表现不同?

iOS上自定义UnmodifiedEntry与原生Entry高度不一致的原因及解决

在iOS平台上,这种高度差异的核心原因是自定义Entry控件未继承原生Entry的平台默认样式:

  1. .NET MAUI对原生Entry控件,在iOS平台的资源字典中预设了默认样式(包含系统标准的内边距、字体大小、控件高度规则等),这些样式会自动应用到原生Entry上,保证它符合iOS的UI规范。
  2. 你创建的UnmodifiedEntry虽然继承自Entry,但MAUI不会自动将原生Entry的默认样式应用到自定义子类上,导致它使用的是最基础的控件布局规则,没有包含系统默认的内边距和高度适配,最终出现高度差异。

解决方法

方法1:在XAML中直接指定样式

给自定义控件显式绑定原生Entry的默认样式,让它继承系统布局规则:

<controls:UnmodifiedEntry x:Name="UnmodifiedEntry"
                   WidthRequest="200"
                   Text=""
                   BackgroundColor="LightPink"
                   HorizontalOptions="End"
                   Style="{StaticResource EntryStyle}"/>

方法2:全局统一自定义控件样式

在App.xaml或页面的资源字典中添加全局样式,让所有UnmodifiedEntry自动继承原生Entry的样式:

<Style TargetType="controls:UnmodifiedEntry" BasedOn="{StaticResource EntryStyle}" />

完成以上任意一种设置后,自定义控件就能和原生Entry在iOS上保持一致的高度与布局表现。

内容的提问来源于stack exchange,提问作者Christine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 01:17:05