移动Blazor Binding是否可在Razor模板中采用类似XAML的方式编码?
Blazor Mobile Binding 完全支持你提到的这种开发模式,不需要使用BlazorWebView,也不需要开发混合应用,即可在同一个.razor文件中编写XAML风格的UI标签与C#业务代码,最终渲染为原生应用。
- 我们平时接触最多的Blazor Hybrid场景确实是通过
BlazorWebView加载写了HTML的.razor文件渲染Web内容,但这只是Blazor技术栈的其中一种用法。Blazor Mobile Bindings(现已迭代为适配.NET MAUI的稳定版本)的核心设计目标之一,就是支持用Razor语法开发纯原生移动应用。 - 你不需要像Xamarin开发那样拆分XAML文件和后台
.cs文件,所有逻辑和UI声明都可以放在同一个.razor文件中:上层写原生控件对应的类XAML标签,下层用@code块编写C#代码,数据绑定、事件绑定的用法和普通Blazor开发完全一致。
你可以参考如下最简示例:
<ContentPage Title="原生测试页"> <VerticalStackLayout Spacing="15" Padding="20"> <Label Text="当前计数:@CurrentCount" FontSize="24" /> <Button Text="点击计数" OnClicked="AddCount" /> </VerticalStackLayout> </ContentPage> @code { private int CurrentCount { get; set; } = 0; private void AddCount() { CurrentCount++; } }
- 这种写法最终编译后会直接映射为对应平台的原生控件渲染,没有WebView参与,完全是原生应用的运行效果。
内容的提问来源于stack exchange,提问作者zawhtut
相关产品推荐
相关产品推荐

