<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      .NET 10 中的新增功能系列文章3—— .NET MAUI 中的新增功能

      一、MediaPicker 增強功能(預覽版6)

      .NET 10 預覽版6 對 MediaPicker 進行了顯著增強,新增了支持多文件選擇和圖像壓縮的功能。開發者現在可以通過簡單的 API 調用實現這些功能:

      var result = await MediaPicker.PickMultipleAsync(new MediaPickerOptions
      {
          MaximumWidth = 1024,
          MaximumHeight = 768
      });
      

      這個改進使得處理媒體文件變得更加高效,特別是對于需要處理多張圖片或控制圖像尺寸的應用場景。

      二、XAML 命名空間簡化(預覽版5)

      .NET 10 預覽版5 引入了一套全新的 XAML 命名空間處理機制,顯著簡化了 XAML 文件的頭部聲明。主要改進包括:

      1. 項目范圍的"全局"命名空間http://schemas.microsoft.com/dotnet/maui/global 可以聚合多個 xmlns
      2. 隱式默認命名空間(選擇加入):編譯器自動注入默認命名空間

      對比示例:

      <!-- .NET 8 style -->
      <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
              xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
              xmlns:models="clr-namespace:MyApp.Models"
              xmlns:controls="clr-namespace:MyApp.Controls"
              x:Class="MyApp.MainPage">
          <controls:TagView x:DataType="models:Tag" />
      </ContentPage>
      
      <!-- .NET 10 簡化版 -->
      <ContentPage x:Class="MyApp.MainPage">
          <TagView x:DataType="Tag" />
      </ContentPage>
      

      變化:

      • 無需聲明 xmlns:modelsxmlns:controls 因為它們在 GlobalXmlns.cs 文件中全局聲明
      • 不需要前綴 TagViewTag
      <!-- .NET 10 Preview 5 plus opt-in -->
      <ContentPage x:Class="MyApp.MainPage">
          <TagView x:DataType="Tag" />
      </ContentPage>
      

      要啟用這一功能,開發者需要在項目中添加 GlobalXmlns.cs 文件并配置相關屬性。

      三、Web 請求攔截功能(預覽版5和6)

      .NET 10 為 BlazorWebView 和 HybridWebView 新增了 Web 請求攔截能力,為開發者提供了更大的靈活性:

      webView.WebResourceRequested += (s, e) =>
      {
          if (e.Uri.ToString().Contains("api/secure"))
          {
              e.Handled = true;
              e.SetResponse(200, "OK", "application/json", GetCustomStream());
          }
      };
      

      此功能支持多種場景,包括修改請求頭、重定向請求或提供本地響應等。

      四、.NET Aspire 集成

      .NET 10 為 .NET MAUI 新增了與 .NET Aspire 的深度集成模板,簡化了遙測和服務發現的配置:

      builder.AddServiceDefaults();
      

      該方法自動完成:

      • OpenTelemetry 指標和追蹤配置
      • 服務發現功能添加
      • HttpClient 與服務發現的集成配置

      這為構建現代云原生應用提供了更便捷的路徑。

      五、動畫 API 改進

      .NET 10 對動畫 API 進行了現代化改造,將原有的同步方法替換為異步版本:

      舊方法 新方法
      FadeTo FadeToAsync
      RotateTo RotateToAsync
      ScaleTo ScaleToAsync

      這種改變不僅更符合現代異步編程模式,還能避免潛在的 UI 線程阻塞問題。

      詳細信息:基礎動畫

      六、控件增強和棄用

      CollectionView 和 CarouselView

      .NET 9 中的 .NET MAUI 在 iOS 和 Mac Catalyst 上包含了兩個可選的處理程序,為 CollectionViewCarouselView帶來了性能和穩定性改進。 在 .NET 10 中,這些是 CollectionViewCarouselView的默認處理程序。

      編輯和輸入 (Android)

      在安卓平臺上,EditorEntry 視圖將它們的原生視圖從 AppCompatEditText 更改為 MauiAppCompatEditText,這增加了對 SelectionChanged 事件的支持。

      HybridWebView

      HybridWebView 獲得一個 InvokeJavaScriptAsync 重載,該重載調用指定的 JavaScript 方法,但不包括返回類型的任何信息。 有關詳細信息,請參閱 調用不返回值的 JavaScript 方法。

      默認情況下,由您的JavaScript代碼拋出的任何異常都會發送到.NET,然后在.NET中重新拋出為.NET異常。

      列表視圖

      ListView 已被棄用,和 EntryCellImageCellSwitchCellTextCell、以及 ViewCell 一樣。 相反,應使用 CollectionView

      備注

      Cell 尚未棄用,因為它目前用于源代碼生成。 然而,它應該被視為已棄用。

      搜索欄

      SearchBar 獲得了一個 SearchIconColor 可綁定屬性,用于設置搜索圖標的顏色:

      <SearchBar Placeholder="Search items..."
                 SearchIconColor="Blue" />
      

      SearchBar 還獲得一個可綁定的 ReturnType 屬性,類型為 ReturnType,用于指定返回按鈕的外觀。 此屬性的默認值為 Search

      有關詳細信息,請參閱 SearchBar

      開關

      Switch 擁有一個 OffColor 可綁定屬性,用于設置開關在關閉狀態時的顏色。

      <Switch OffColor="Red"
              OnColor="Green" />
      

      有關詳細信息,請參閱 開關

      表格視圖

      TableView 已棄用。 相反,應使用 CollectionView

      Android上的WebView

      當視頻托管在 Android 的WebView中時,現在可以通過在allowfullscreen中包含iframe來全屏播放。

      七、平臺特定功能增強

      1. iOS/Mac Catalyst 模態頁面:現在可以顯示為彈出式頁面

        適用于 .NET 10 的 .NET MAUI 添加了一個特定于平臺的功能,可以在 iOS 和 Mac Catalyst 上將模態頁面顯示為彈出式頁面。 通過將Page.ModalPopoverSourceView可綁定屬性設置為定義模態來源的View,將Page.ModalPopoverRect可綁定屬性設置為定義彈出框將從其發起的視圖內矩形的Rectangle,并將Page.ModalPresentationStyle可綁定屬性設置為Popover,來使用它。

      using Microsoft.Maui.Controls.PlatformConfiguration;
      using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;
      
      public partial class PopoverPage : ContentPage
      {
          public PopoverPage(View modal, Rectangle rectangle)
          {
              InitializeComponent();
              On<iOS>().SetModalPopoverView(modal);
              On<iOS>().SetModalPopoverRect(rectangle);
              On<iOS>().SetModalPresentationStyle(UIModalPresentationStyle.Popover);
          }
      }
      

      使用 Navigation.PushModalAsync 方法導航到模式頁

      Page modalPage = new PopoverPage(originButton, Rectangle.Empty);
      await Navigation.PushModalAsync(modalPage);
      
      1. 地理位置:新增 IsEnabled 屬性檢查位置服務狀態

      2. 文本轉語音:SpeechOptions 新增 Rate 屬性控制語速

      3. Web 認證:AuthenticateAsync 支持 CancellationToken

      這些平臺特定的增強使得應用能夠更好地利用各平臺的原生能力^參考內容:"平臺功能"^。

      八、Android 開發改進

      .NET 10 為 Android 開發帶來多項重要改進:

      1. API 36 和 JDK 21 支持:默認使用 Android 16 (API 36)
      2. dotnet run 支持:簡化調試流程
      // Run on the only attached Android physical device
      dotnet run -p:AdbTarget=-d
      
      // Run on the only running Android emulator
      dotnet run -p:AdbTarget=-e
      
      // Run on the specified Android physical device or emulator
      dotnet run -p:AdbTarget="-s emulator-5554"
      
      1. 編組方法默認啟用

        在 .NET 9 中,引入了一種新的方式來創建 Java 代碼調用 C# 代碼所需的封送方法,提高了啟動性能。 但是,在 .NET 9 中,它們默認處于關閉狀態。

        在 .NET 10 中,默認啟用它們。 這些封送方法的問題通常表現為啟動時掛起。 如果您在 .NET 10 預覽版中遇到啟動時的卡頓問題,而在 .NET 9 上沒有,請嘗試在項目文件中將 $(AndroidEnableMarshalMethods) MSBuild 屬性設置為 false 來禁用封送方法。

      <PropertyGroup>
          <AndroidEnableMarshalMethods>false</AndroidEnableMarshalMethods>
      <PropertyGroup>
      
      1. 構建優化:使用 System.IO.Compression 創建 APK,縮短構建時間

      這些改進顯著提升了 Android 開發的體驗和效率。

      九、iOS 開發改進

      iOS 開發在 .NET 10 中也獲得多項增強:

      1. 修剪器增強:在更多配置中啟用,默認顯示警告
      2. 原始資源處理:優化資源嵌入機制
      3. Windows 綁定構建:不再需要遠程 Mac
      4. NSUrlSessionHandler 改進:更靈活的 TLS 配置
      <PropertyGroup>
          <SuppressTrimAnalysisWarnings>true</SuppressTrimAnalysisWarnings>
          <BundleOriginalResources>false</BundleOriginalResources>
      </PropertyGroup>
      

      系列文章

      .NET 10 中的新增功能系列文章1——運行時中的新增功能

      .NET 10 中的新增功能系列文章2——ASP.NET Core 中的新增功能

      .NET 10 中的新增功能系列文章4——.NET SDK中的新增功能

      .NET 10 新增功能系列文章(5)——C# 14 中的新增功能

      posted @ 2025-07-31 08:41  葡萄城技術團隊  閱讀(844)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 石门县| 亚洲精品中文字幕二区| 她也色tayese在线视频| 中文字幕亚洲精品第一页| 宅男噜噜噜66在线观看| 麻豆a级片| 人妻夜夜爽天天爽一区| 亚洲卡1卡2卡3精品| 激情视频乱一区二区三区| 国内精品视频区在线2021| 熟妇无码熟妇毛片| 热久久这里只有精品国产| av中文字幕国产精品| 亚洲国产色播AV在线| 精品久久人人做爽综合| 亚洲aⅴ无码专区在线观看q| 国内精品久久久久影院蜜芽| 德庆县| 日韩精品一区二区三区中文无码| 亚洲中文字幕成人综合网| 少妇人妻偷人精品视蜜桃| 亚洲欧美人成网站在线观看看| 美女一区二区三区亚洲麻豆| 国产精品高清一区二区三区| 欧美一区二区三区啪啪| 色一情一区二区三区四区| 亚洲午夜精品国产电影在线观看| 久久亚洲精品成人av秋霞| 18岁日韩内射颜射午夜久久成人| 东京热一精品无码av| 18禁极品一区二区三区| 亚洲综合不卡一区二区三区| 91青青草视频在线观看| 华人在线亚洲欧美精品| brazzers欧美巨大| 精品无码一区二区三区电影| 精品国产午夜福利在线观看| 69精品无人区国产一区| 中文字幕久久六月色综合| 精品久久8x国产免费观看| 国产另类ts人妖一区二区|