.NET MAUI 11 预览版中的 XAML 内联 C# 表达式

在 .NET MAUI 11 预览版中,XAML 支持内联 C# 表达式,允许直接在 XAML 中嵌入简单的 C# 代码逻辑,减少代码后置文件的依赖。这一特性显著提升了开发效率和代码可读性。

内联 C# 表达式的基本语法

内联 C# 表达式通过 {} 包裹,可以直接在 XAML 属性中嵌入代码。例如绑定一个动态计算的属性:

<Label Text="{Binding DateTime.Now.ToString('yyyy-MM-dd')}" />

动态属性绑定示例

结合 Binding 和内联表达式,实现动态数据绑定:

<Label Text="{Binding Path=Price, StringFormat='Total: {0:C}'}" />

条件逻辑与三元运算符

内联表达式支持三元运算符,简化条件逻辑:

<Label Text="{Binding IsAvailable ? 'In Stock' : 'Out of Stock'}" />

方法调用与静态资源

可以直接调用静态方法或引用静态资源:

<Label Text="{Binding Math.Round(Price, 2)}" />

注意事项

  • 内联表达式仅支持简单的单行逻辑,复杂逻辑仍需在代码后置文件中处理。
  • 调试时需注意表达式中的语法错误,XAML 设计器可能不会实时提示内联代码的问题。
  • 性能敏感场景建议评估内联表达式的解析开销。

适用场景

  • 快速原型开发或小型项目。
  • 需要减少代码后置文件的场景。
  • 简单的数据转换或格式化需求。

通过内联 C# 表达式,开发者可以更灵活地在 XAML 中实现逻辑,减少上下文切换,提升开发体验。

更多推荐