https://docs.microsoft.com/en-us/dotnet/maui/platform-integration/invoke-platform-code
https://learn.microsoft.com/en-us/dotnet/maui/android/manifest?view=net-maui-7.0
#if ANDROID
#elif IOS
#else
#endif
https://www.cnblogs.com/siyunianhua/p/15842670.html
访问字体
<Setter Property="FontFamily" Value="SegoeUiSemibold" />
访问图片资源
<Image Source="xxx.png" />
本地化资源
xmlns:res="clr-namespace:Microsoft.NetConf2021.Maui.Resources.Strings"
<Label Text="{x:Static res:AppResource.Categories}" />
平台化
在XAML以及代码中, 你可以通过平台化处理不同的UI以及业务逻辑, 可以通过OnPlatform以及OnIdiom来区分平台及类型。
不同平台下的字体设置
<Label FontSize="{OnPlatform UWP=24, macOS=24, Android=14,iOS=14}" />
不同设备的设置
<GridItemsLayout Span="{OnIdiom Phone=2, Tablet=3, Desktop=3}" />
Essentials
内置的Essentials提供访问本机网络WIFI、蓝牙等等。
//验证是否联网
var current = Connectivity.NetworkAccess;
if (current != NetworkAccess.Internet)
{
//...
}
//验证是否存在WIFI连接
var profiles = Connectivity.ConnectionProfiles;
var hasWifi = profiles.Contains(ConnectionProfile.WiFi);
if (hasWifi)
{
//...
}
混合模式
在XAML当中, 使用BlazorWebView
xmlns:b="clr-namespace:Microsoft.AspNetCore.Components.WebView.Maui;assembly=Microsoft.AspNetCore.Components.WebView.Maui"
<b:BlazorWebView x:Name="MyWebView"
Margin="10,0"
HostPage="wwwroot/index.html"
BackgroundColor="{AppThemeBinding Light={StaticResource Grey1}, Dark={StaticResource Grey9}}">
<b:BlazorWebView.RootComponents>
<b:RootComponent Selector="app"
ComponentType="{x:Type pages:ListenTogetherComponent}" />
</b:BlazorWebView.RootComponents>
</b:BlazorWebView>
文档更新时间: 2023-04-20 22:16 作者:admin