MAUI中Border是替代Frame的现代边框控件,支持独立四角圆角、多种形状及虚线边框;新项目应优先使用Border而非Frame。
MAUI 中的 Border 控件是专为添加边框和圆角设计的现代替代方案,比旧版 Frame 更灵活、语义更清晰,也更适合新项目。
Border 是一个容器控件,可包裹任意子内容(如 Label、Button、StackLayout 等),并提供原生级的边框与圆角支持。
包裹内容,设置 Stroke(边框颜色)、StrokeThickness(边框粗细)、CornerRadius(圆角)即可生效CornerRadius="8,4,0,12" 表示左上、右上、右下、左下Background 设置(不是 BackgroundColor),推荐用 Brush 类型(如 SolidColorBrush 或渐变)示例:
Frame 在 MAUI 中仍被保留,主要用于兼容 Xamarin.Forms 迁移项目;但新开发建议直接用 Border。
RoundRectangle、Ellipse)、自定义 StrokeDashArray(虚线边框)CornerRadius 是统一值,且在某些平台(尤其是 iOS)对小数值渲染不稳定除了 Border,还有几种常用且稳定的圆角方案,按推荐优先级排列:
有些场景下直接设 CornerRadius 会失效,别急着换方案,先检查这几项:
ClippingGeometry 或裁剪行为 —— 尝试给 Border 或外层容器加 Clip="null"
TextTransform="None"
der 本身不支持,可嵌套一层 Grid + Shadow 属性(WinUI/macOS 支持,iOS/Android 需自定义 Handler)基本上就这些。Border 是 MAUI 边框和圆角的主力控件,用熟了比拼各种 Hack 方式省心很多。