.NET MAUI 预览版 6 发布
原文:bit.ly/2SKad9g
作者:.NET Blog - David
譯者:精致碼農 - 王亮
當我們還在從微軟 Build 大會和 .NET 6 預覽版 4 中緩過來的時候,我們在這里就開始分享我們在 .NET 6 預覽版 5 中對 .NET 多平臺應用程序開發(fā)框架(.NET MAUI)的持續(xù)進展了。在這個版本中,我們啟用了動畫和視圖轉換,完成了幾個 UI 組件的移植,并對單項目模板進行了改進。
我們還發(fā)布了第一批預覽文檔,涵蓋了 .NET MAUI 的介紹性和基礎性內容:
https://docs.microsoft.com/dotnet/maui/1動畫
在 .NET MAUI 中執(zhí)行動畫有幾種方法,其中最簡單的是使用視圖擴展方法,如 FadeTo, RotateTo, ScaleTo, TranslateTo 等。在下面的例子中,我使用新的 HandlerAttached 事件抓取了每個與布局綁定的視圖的引用。
<DataTemplate?x:Key="FavouriteTemplate"><FrameAttachedHandler="OnAttached"Opacity="0">...</Frame> </DataTemplate><FlexLayoutBindableLayout.ItemTemplate="{StaticResource FavouriteTemplate}"BindableLayout.ItemsSource="{Binding Favorites}">... </FlexLayout>當頁面呈現時,我將視圖以輕微交錯的方式制成動畫,以創(chuàng)造美麗的層疊效果。
public?partial?class?FavoritesPage : ContentPage {List<Frame> tiles = new List<Frame>();void?OnAttached(object sender, EventArgs e){Frame f = (Frame)sender;tiles.Add(f);}protected?override?async?void?OnAppearing(){base.OnAppearing();await Task.Delay(300);TransitionIn();}async?void?TransitionIn(){foreach (var item in tiles){item.FadeTo(1, 800);await Task.Delay(50);}} }對于更完整的視圖動畫的協調,請查看自定義動畫文檔,其中演示了添加多個可以并行運行的子動畫:
https://docs.microsoft.com/xamarin/xamarin-forms/user-interface/animation/custom你可以從 GitHub 上的 WeatherTwentyOne 項目查看和運行這個例子的源代碼:
https://github.com/davidortinau/WeatherTwentyOne/2UI 組件
在這個版本中,有幾個控件的所有屬性和事件都被移植到了 Xamarin.Forms 渲染器架構的處理程序中,包括 ActivityIndicator、CheckBox、Image 和 Stepper。在以前的預覽版本中,你需要檢查一個控件是否被移植,并從兼容包中為那些不可用的控件注冊渲染器。在 .NET MAUI 預覽版 5 中,我們通過更新 UseMauiApp 擴展來為你連接所有的控件,無論它們是基于處理程序還是渲染器,都讓這一切變得更加簡單。
預覽版 5 的新內容還包括首次引入 Shell,這是一個應用程序容器,提供 URI 導航和實現彈出式菜單和標簽的快速方法。要使用它,請在 App.xaml.cs 中添加 Shell 作為窗口的根元素。我遵循的典型模式將其命名為 AppShell,當然你也可以按照你的意愿來命名它。
protected?override IWindow CreateWindow(IActivationState activationState) {return?new Microsoft.Maui.Controls.Window(new AppShell()); }在你的 AppShell 類中,使用你希望顯示的導航類型,無論是 FlyoutItem 還是 Tab,并用內容填充菜單。這些不是 UI 控件,而是代表將創(chuàng)建這些 UI 控件的類型。你以后可以用我們將在預覽 6 中介紹的內容模板來給這些控件添加樣式。
<Shell?xmlns="http://schemas.microsoft.com/dotnet/2021/maui"xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"xmlns:pages="clr-namespace:ControlGallery.Pages"Title="ControlGallery"x:Class="ControlGallery.AppShell"><FlyoutItem?Title="Margin and Padding"><ShellContent?Route="marginpadding"ContentTemplate="{DataTemplate pages:ControlsPage}" /></FlyoutItem><FlyoutItem?Title="ActivityIndicator"><ShellContent?Route="activityindicator"ContentTemplate="{DataTemplate pages:ActivityIndicatorPage}" /></FlyoutItem>...</Shell>在我們的 .NET MAUI 進度狀態(tài)頁面上查看有關控件、布局和功能的最新信息:
https://github.com/dotnet/maui/wiki/Status3單項目模板
我們在這個版本中取得了進展,將多個 WinUI 項目合并為一個?,F在,當你使用 dotnet new maui 命令創(chuàng)建一個項目時,你會看到兩個項目:多目標的 .NET MAUI 項目,和 WinUI 項目。
現在要運行 WinUI 項目,你就不會對選擇哪個項目感到困惑了。這離最終的愿景又近了一步,即一個項目可以構建和部署到所有支持的平臺。為了支持這一點,你需要安裝這些 Visual Studio 16.11 Preview 2 的 Project Reunion 0.8 (Preview) 擴展。
https://marketplace.visualstudio.com/items?itemName=ProjectReunion.MicrosoftProjectReunionPreview https://marketplace.visualstudio.com/items?itemName=ProjectReunion.MicrosoftSingleProjectMSIXPackagingTools4開始使用 .NET MAUI 預覽版 5
在這個版本中,不再需要添加一個自定義的 NuGet 源來 restore 你的項目。只要創(chuàng)建一個新的項目并運行它就可以了。為了獲得所有最新的部件,我們繼續(xù)推薦運行 maui-check dotnet 工具。
安裝:
dotnet tool install -g redth.net.maui.check運行該工具可跟蹤更新,以獲得.NET 6 預覽版 5、平臺 SDK、.NET MAUI、項目模板,甚至檢查你的環(huán)境是否有第三方依賴。
maui-check如果你想自己一步步來,你可以根據這些說明單獨安裝所有東西:
https://github.com/dotnet/maui-samples/#installing-with-official-preview-installers一旦安裝完畢,你就可以根據預覽 5 的模板創(chuàng)建一個新的應用程序:
dotnet new maui -n MauiFive在 Visual Studio 16.11 預覽 1 中打開你的新 MauiFive.sln,并在你選擇的平臺上運行。
若你急于使用 Visual Studio 2022 預覽版 1,要使用安卓模擬器開始探索移動平臺,和使用遠程 iOS 設備開始探索 iOS,或者連接 Mac 主機,請務必禁用 XAML Hot Reload 以避免出現類型錯誤?;蚴褂?Visual Studio 2019 的 16.11 預覽版。
未來,Project Reunion 擴展將支持 Visual Studio 2022,你將能夠在 Windows 上使用所有的平臺。
如果你有現有的 .NET MAUI 項目,你希望遷移到 Preview 5,我建議像上面那樣創(chuàng)建一個新項目,并將你的文件復制到多目標項目中,這樣你就可以避免協調 WinUI 項目的麻煩。
有關開始使用 .NET MAUI 的其他信息,請參考我們新的文檔網站:
https://docs.microsoft.com/dotnet/maui5歡迎反饋
請讓我們了解您使用 .NET MAUI 預覽版 5 創(chuàng)建新應用程序的體驗,請在 GitHub 上與我們聯系,地址是:
https://github.com/dotnet/maui要了解未來版本的內容,請訪問我們的路線圖:
https://github.com/dotnet/maui/wiki/roadmap加入我們,一起踏上.NET大牛成長之路↓
總結
以上是生活随笔為你收集整理的.NET MAUI 预览版 6 发布的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: AgileConfig轻量级配置中心1.
- 下一篇: Magicodes.IE 2.5.4.2
