Microsoft julkaisee Windows UI Library 3 -esikatselun 4

Lukuajan kuvake 9 min. lukea


Lukijat auttavat tukemaan MSpoweruseria. Saatamme saada palkkion, jos ostat linkkien kautta. Työkaluvihje-kuvake

Lue ilmoitussivumme saadaksesi selville, kuinka voit auttaa MSPoweruseria ylläpitämään toimitustiimiä Lue lisää

Winui 3

WinUI on käyttöliittymäkerros, joka sisältää nykyaikaisia ​​säätimiä ja tyylejä Windows-sovellusten, sekä työpöytä- että UWP, rakentamiseen. Windowsin alkuperäisenä käyttöliittymäkerroksena se ilmentää Fluent Designia, joka antaa jokaiselle Windows-sovellukselle käyttäjien odottaman kiillotetun tuntuman.

[lwptoc title=”WinUI Library 3 Preview 4″ width=”40%” float=”right”]

WinUI 3 on WinUI-kehyksen uusin versio, joka toimitetaan myöhemmin tänä vuonna. Se laajentaa WinUI:n dramaattisesti täydelliseksi UX-kehykseksi, jolloin WinUI on käytettävissä kaikentyyppisille Windows-sovelluksille – Win32:sta UWP:hen – käyttöliittymäkerroksena. Kun se on valmis, jokainen Windows-sovellus voi hyödyntää sen moderneja ohjaimia, jotka toimivat riippumatta Windows-versiosta, jossa niitä käytetään.

Julkaistu tänään, WinUI 3:n esikatselu 4 on vakauden esikatselujulkaisu, joka sisältää tärkeitä virheenkorjauksia ja muita yleisiä parannuksia puitteisiin.

Esikatselussa 4 esitellyt ominaisuudet

  • Pariteetti WinUI 2.5:n kanssa (sisältää InfoBar-hallinnan, ProgressRingin ja NavigationView'n uudet ominaisuudet sekä virheenkorjauksia)
  • Mukautetut otsikkorivin ominaisuudet: uudet Window.ExtendsContentIntoTitleBar ja Window.SetTitleBar API:t, joiden avulla kehittäjät voivat luoda mukautettuja otsikkorivejä työpöytäsovelluksiin.
  • VirtualSurfaceImageSource-tuki

Aiemmissa WinUI 3 -esikatseluissa esiteltyjä uusia ominaisuuksia ja ominaisuuksia

Seuraavat ominaisuudet ja ominaisuudet esiteltiin WinUI 3 Preview 1-3:ssa, ja niitä tuetaan edelleen WinUI 3 Preview 4:ssä.

  • Mahdollisuus luoda työpöytäsovelluksia WinUI:lla, mukaan lukien .NET 5 Win32-sovelluksille
  • RadialGradientBrush
  • TabView-päivitykset
  • Tumman teeman päivitykset
  • Parannuksia ja päivityksiä verkkonäkymä2
    • Tuki korkealle DPI:lle
    • Tuki ikkunoiden koon muuttamiseen ja siirtämiseen
    • Päivitetty kohdistamaan Edgen uudempaan versioon
    • WebView2-kohtaiseen Nuget-pakettiin ei enää tarvitse viitata
  • VaihdaKetjuPaneeli
  • MRT-ydintuki
    • Tämä tekee sovelluksista nopeampia ja kevyempiä käynnistyksen yhteydessä ja mahdollistaa nopeamman resurssien haun.
  • ARM64-tuki
  • Vedä ja pudota sovellusten sisällä ja ulkopuolella
  • RenderTargetBitmap (tällä hetkellä vain XAML-sisältö – ei SwapChainPanel-sisältöä)
  • Mukautettu kohdistintuki
  • Kierteen ulkopuolinen syöttö
  • Parannuksia työkalu- / kehittäjäkokemuksellemme:
    • Live Visual Tree, Hot Reload, Live Property Explorer ja vastaavat työkalut
    • Intellisense WinUI 3:lle
  • Avoimen lähdekoodin siirtoon tarvitaan parannuksia

Lisätietoja sekä WinUI 3:n että WinUI-tiekartan eduista on osoitteessa Windows UI Library Roadmap GitHubissa.

Luettelo esikatselussa 4 korjatuista virheistä

Alla on luettelo käyttäjäkohtaisista bugeista, jotka tiimi on korjannut Preview 3:n jälkeen. Myös vakauttamisen ja testauksen parantamisen eteen on tehty paljon työtä.

  • Tämä julkaisu on ottanut käyttöön uuden version CS/WinRT:stä ja Windows SDK:sta, joka korjasi seuraavat virheet:
    • Kaatuu URI-ominaisuuteen sitouduttaessa käyttämällä {Binding}
    • C#/WinRT Marshal ei toimi oikein .NET 5:n kanssa
  • WinUI 3 kaatuu Windows Insider Builds -versiossa
    • Kiitos useille yhteisön avustajille, jotka ilmoittivat tästä virheestä GitHubissa!
  • WebView2 ei käytä isäntäsovelluksen kieltä/kieliä CoreWebView2Environmentissa
  • Windows Community Toolkit DataGrid-hallinta kaataa sovelluksen käynnistyksen yhteydessä/kun vierityspalkit tulevat näkyviin
    • Kiitos useille yhteisön avustajille, jotka ilmoittivat tästä virheestä GitHubissa!
  • Sivun renderöinti menee huonoon tilaan, kun näyttötila vaihtuu
  • Kaatuu käytettäessä Language ComboBoxia kalenterinäkymässä
  • WinUI 3 Desktop: WebView2:n välilehtiä ei voi poistaa
  • WinUI 3 Desktop: TreeView johdetuilla TreeViewNodesilla kaatuu
  • WinUI 3 Desktop: Tekstiä ei voi kirjoittaa ContentDialogin TextBoxiin
  • WinUI 3 Desktop: ALT ja F6 eivät toimi
  • Vanha poistettu SwapChainPanel renderöi uuden SwapChainin päälle
  • WinUI 3 Desktop: Ei voi vierittää ohjauslevyllä
  • Kaatuu, kun käytetään NavigationView-ohjausta useiden ikkunoiden kanssa samassa säikeessä
  • Esteettömyysongelma: Näytä kohdistus suoraan WinUI-työpöytäsovelluksen käynnistyksessä
  • Käyttöoikeusrikkomus DataGridissä vieritettäessä
  • WinUI 3 Desktop: Välilehtien kierto ei toimi
  • Vedä ja pudota GridView epäonnistuu WinUI Xaml Islandsin työpöytäsovelluksessa
  • Esteettömyysongelma: Ei voida vierittää PageUp/PageDown-näppäimillä WinUI 3 Desktopissa
  • WebView2:n näkymän koko on väärä
  • WebView2 kaatui napsautuksella MenuFlyoutin avaamisen jälkeen
  • WinUI 3 Desktop: DropDownButtonin tai SplitButtonin lennon poistaminen aiheuttaa sovelluksen kaatumisen
  • WebView2: Kaksoisnapsautus hiiren oikealla painikkeella aiheuttaa kaatumisen
  • ToggleSplitButtonin napsauttaminen aiheuttaa sovelluksen kaatumisen
  • WinUI 3 Desktop: Tyhjä DesktopWindowXamlSource-ikkuna näkyy tehtäväpalkissa
  • WinUI 3 Desktop: DataGrid ei näy
  • WinUI 3 Desktop: Ei voida pudottaa tiedostoja Gridiin
  • WinUI 3 Desktop: ItemsRepeater kaatui WinUI 3 Preview 2:ssa
  • AccessViolationException heitetään päivitettäessä sidoksia
  • WinUI 3 Desktop: sovellus kaatuu NavigationView-vieritysnäkymässä
  • ItemsControl ei päivity, kun se lisää tai poistaa dynaamisesti kohteita ItemsSource-kokoelmassaan.
  • Käännösvirhe C2760 tiedostossa App.xaml.gh, jos C++-yhteensopivuustila on käytössä

Rajoitukset ja tunnetut ongelmat

Preview 4 -julkaisu on yksinkertaisesti esikatselu, jossa on bugeja, rajoituksia ja muita työpöytäsovelluksia koskeviin skenaarioihin liittyviä ongelmia, jotka ovat erityisen uusia.

Seuraavat kohteet ovat joitain WinUI 3 Preview 4:n tunnetuista ongelmista.

Kehittäjän työkalut

  • Vain C#- ja C++/WinRT-sovelluksia tuetaan
  • Työpöytäsovellukset tukevat .NET 5:tä ja C# 9:ää, ja ne on pakattava MSIX-sovellukseen
  • UWP-sovellukset tukevat .NET Nativea ja C# 7.3:a
  • Kehittäjätyökalut ja Intellisense eivät välttämättä toimi kunnolla Visual Studion versiossa 16.8.
  • Ei XAML Designer -tukea
  • Uusia C++/CX-sovelluksia ei tueta, mutta nykyiset sovelluksesi jatkavat toimintaansa (siirry C++/WinRT:hen mahdollisimman pian)
  • Useiden ikkunoiden tuki työpöytäsovelluksissa on käynnissä, mutta se ei ole vielä täydellinen ja vakaa.
    • Ilmoita bugi repossamme, jos löydät uusia ongelmia tai regressioita usean ikkunan toiminnassa.
  • Pakkaamatonta työpöytäkäyttöönottoa ei tueta
  • Kun käytät työpöytäsovellusta F5-näppäimellä, varmista, että käytät pakkausprojektia. F5-näppäimen painaminen sovellusprojektissa käynnistää pakkaamattoman sovelluksen, jota WinUI 3 ei vielä tue.

Puuttuvat alustan ominaisuudet

  • Xbox -tuki
  • HoloLens-tuki
  • Ikkunalliset ponnahdusikkunat
    • Tarkemmin sanottuna ShouldConstrainToRootBounds ominaisuus toimii aina kuin se olisi asetettu true, kiinteistön arvosta riippumatta.
  • Musteen painamisen tuki
  • Akryyli
  • MediaElement ja MediaPlayerElement
  • MapControl
  • RenderTargetBitmap SwapChainPanelille ja muulle kuin XAML-sisällölle
  • SwapChainPanel ei tue läpinäkyvyyttä
  • Global Reveal käyttää varakäyttäytymistä, kiinteää sivellintä
  • Tämä julkaisu ei tue XAML Islandsia
  • Kolmannen osapuolen ekosysteemikirjastot eivät toimi täysin
  • IME:t eivät toimi

Tunnetut ongelmat

  • Alt+F4 ei sulje työpöytäsovellusikkunoita.
  • Muutosten vuoksi CoreWindow, seuraavat WinRT API:t eivät ehkä enää toimi pöytä- sovellukset odotetusti:

    Lisätietoja WinRT-sovellusliittymien käyttämisestä WinUI 3 Desktop -sovelluksessa on kohdassa Windows Runtime API:t saatavilla työpöytäsovelluksille.

  • Windows.UI.ViewManagement.UISettings.ColorValuesChanged Event ei enää tueta työpöytäsovelluksissa. Tämä voi aiheuttaa ongelmia, jos käytät sitä Windows-teemojen muutosten havaitsemiseen.
  • Tämä julkaisu sisältää joitain kokeellisia sovellusliittymiä. Tiimi ei ole testannut näitä perusteellisesti, ja niissä voi olla tuntemattomia ongelmia. Ole kiltti ilmoita bugi repossamme, jos kohtaat ongelmia.
  • Aiemmin CompositionCapabilities-esiintymän saamiseksi soitit CompositionCapabilites.GetForCurrentView(). Tästä puhelusta palautetut ominaisuudet olivat kuitenkin emme näkemyksestä riippuen. Tämän korjaamiseksi ja heijastamiseksi olemme poistaneet GetForCurrentView()-staattisen tämän julkaisun, joten nyt voit luoda Koostumusominaisuudet kohde suoraan.
  • C# UWP -sovellukset: WinUI 3 -kehys on joukko WinRT-komponentteja, joita voidaan käyttää C++:sta (käyttäen C++/WinRT:tä) tai C#:sta. C#:a käytettäessä .NET:stä on kaksi versiota sovellusmallista riippuen: kun käytät WinUI 3:a UWP-sovelluksessa, käytät .NET Nativea; kun käytät työpöytäsovelluksessa, käytät .NET 5:tä (ja C#/WinRT:tä). Kun käytät C#:a WinUI 3 -sovelluksessa UWP:ssä, API-nimiavaruudessa on muutamia eroja verrattuna C#:aan WinUI 3 Desktop -sovelluksessa tai C#:ssa. WinUI 2 -sovellus: jotkut tyypit ovat a Microsoft nimiavaruuden sijaan a System nimiavaruus. Esimerkiksi sen sijaan INotifyPropertyChanged käyttöliittymä on sisällä System.ComponentModel nimiavaruudessa, se on Microsoft.UI.Xaml.Data nimiavaruus. Tämä koskee:
    • INotifyPropertyChanged (ja niihin liittyvät tyypit)
    • INotifyCollectionChanged
    • ICommand

    System nimiavaruusversiot ovat edelleen olemassa, mutta niitä ei voi käyttää WinUI 3:n kanssa. Tämä tarkoittaa, että ObservableCollection ei toimi sellaisenaan WinUI 3 C# UWP -sovelluksissa. Katso kiertotapa kohdasta KokoelmatInterop-näyte vuonna XAML Controls Gallery esimerkki.

Mitä seuraavaksi?

Kehittäjät voivat katsoa Microsoftin yksityiskohtaisia ominaisuus tiekartta nähdäksesi, milloin tietyt ominaisuudet tuodaan WinUI 3:een.

Asenna WinUI 3 Preview 4

WinUI 3 Preview 4 sisältää Visual Studio -projektimalleja, joiden avulla voit aloittaa sovellusten luomisen WinUI-pohjaisella käyttöliittymällä ja NuGet-paketin, joka sisältää WinUI-kirjastot. Asenna WinUI 3 Preview 4 noudattamalla näitä ohjeita.

Windows Community Toolkit

Jos käytät Windows Community Toolkitiä, lataa uusin versio.

Lisäksi rajoituksia ja tunnettuja ongelmia, sovelluksen rakentaminen WinUI-projekteja käyttämällä on samanlaista kuin UWP-sovelluksen rakentaminen XAML:n ja WinUI 2.x:n avulla. Siksi suurin osa ohjeasiakirjat UWP-sovelluksille ja Windows.UI WinRT-nimiavaruudet Windows SDK:ssa ovat käytettävissä.

Lisätietoja WinUI-projektimallien käytön aloittamisesta on seuraavissa artikkeleissa:

Tämän julkaisun API-viitedokumentaatio on tulossa pian, mutta sillä välin kehittäjät voivat tarkastella WinUI 3 API:n viitedokumentaatio Preview 3:lle.

Jos loit projektin WinUI 3 Preview 3:lla, voit päivittää projektisi käyttämään esikatselua 4. Katso WinUI GitHub-arkisto yksityiskohtaisia ​​ohjeita.

Jotta voit hyödyntää uusimpia WinUI 3 Preview 4:ään lisättyjä työkaluominaisuuksia, kuten Hot Reload, Live Visual Tree ja Live Property Explorer, sinun on käytettävä Visual Studion uusinta esikatseluversiota uusimman WinUI 3 -esikatselun kanssa ja otettava käyttöön WinUI-työkalut Visual Studion esikatseluominaisuuksissa, kuten kuvataan ohjeet täällä.

Katso WinUI 3 Preview 4 XAML Controls Galleryn haara mallisovellukselle, joka sisältää kaikki WinUI 3 Preview 4 -ohjaimet ja -ominaisuudet.


Esimerkki WinUI 3 Preview 4 XAML Controls Gallery -sovelluksesta

Tämä WinUI 3:n esikatseluversio on tarkoitettu varhaiseen arviointiin ja palautteen keräämiseen kehittäjäyhteisöltä. Sen pitäisi ÄLÄ käyttää tuotantosovelluksiin. Microsoft jatkaa WinUI 3:n esikatseluversioiden toimittamista vuoteen 2021 asti, minkä jälkeen ensimmäinen virallinen tuettu julkaisu julkaistaan ​​maaliskuussa 2021.

Käytä WinUI GitHub repo antaa palautetta ja kirjata ehdotuksia ja ongelmia.

Lisää aiheista: kehittäjille, microsoft, winui 3 esikatselu 4