特定平台的XAML
OnPlatform 标记扩展
概述
Avalonia中的OnPlatform标记扩展(Markup Extension)允许开发人员根据应用程序运行的操作系统指定属性的不同值。这对于创建需要根据平台调整其 UI 或行为的跨平台应用程序特别有用。
标记扩展语法的基本用法
您可以在标记扩展语法中为每个平台指定值,并为未找到特定平台匹配的情况指定默认值:
<TextBlock Text="{OnPlatform Default='Unknown', Windows='Im Windows', macOS='Im macOS', Linux='Im Linux'}"/>
或者,您可以使用构造函数语法直接定义默认值,跳过 Default
关键字。但是平台特定的属性仍需定义:
<TextBlock Text="{OnPlatform 'Hello World', Android='Im Android'}"/>
您可以将此标记扩展搭配任何其他类型使用,而不仅仅是字符串:
<Border Height="{OnPlatform 10, Windows=50.5}"/>