https://docs.microsoft.com/en-us/dotnet/maui/platform-integration/invoke-platform-code

https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/configure-multi-targeting?view=net-maui-7.0

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