Sdílet prostřednictvím


Začínáme s WinUI 2 pro UPW

WinUI 2.8 je nejnovější stabilní verze WinUI, kterou lze použít k vytváření produkčních aplikací UPW (a desktopových aplikací pomocí XAML Islands).

Knihovna je k dispozici jako balíček NuGet, který lze přidat do libovolného nového nebo existujícího projektu sady Visual Studio.

Poznámka:

Další informace o vytváření desktopových aplikací pro Windows s nejnovější verzí WinUI 3 najdete v tématu WinUI 3.

Nastavení sady Visual Studio pro vývoj pro UPW

Stáhněte si Visual Studio 2022 a nainstalujte nástroje pro vývoj pro UPW. Podrobnější pokyny najdete v tématu Vytvoření aplikace pro UPW v dokumentaci k sadě Visual Studio.

Na kartě Úlohy v aplikaci Instalační program sady Visual Studio vyberte následující úlohy a komponenty:

  • Vyberte úlohu vývoje aplikací WinUI . Potom v podokně Podrobnosti o instalaci v uzlu vývoj aplikací WinUI vyberte požadovanou možnost UPW (tím se také vyberou všechny další požadované komponenty.):

    • V jazyce C# vyberte nástroje univerzální platformy Windows.
    • V jazyce C++ vyberte nástroje univerzální platformy Windows (v14x) jazyka C++ (pokud nemáte konkrétní důvod k použití starší verze).

Poznámka:

V sadě Visual Studio 17.10 – 17.12 se tato úloha nazývá vývoj aplikací pro Windows.

Stažení a instalace WinUI

  1. Otevřete existující projekt nebo vytvořte nový projekt pomocí šablony Prázdná aplikace v rámci univerzálního prostředí Visual C# > pro Windows > nebo vhodné šablony pro projekci jazyka.

    Důležité

    Chcete-li použít WinUI 2.8, musíte nastavit TargetPlatformVersion >= 10.0.18362.0 a TargetPlatformMinVersion >= 10.0.17763.0 ve vlastnostech projektu.

  2. Na panelu Průzkumník řešení klikněte pravým tlačítkem na název projektu a vyberte Spravovat balíčky NuGet.

    Snímek obrazovky panelu Průzkumníka řešení s pravým tlačítkem myši kliknutým na projekt a se zvýrazněnou možností Spravovat balíčky NuGet.
    Panel Průzkumníka řešení s pravým kliknutím na projekt a zvýrazněnou možností Spravovat balíčky NuGet.

  3. Vesprávci balíčků NuGet vyberte kartu Procházet a vyhledejte Microsoft.UI.Xaml nebo winUI. Vyberte, které balíčky NuGet WinUI chcete použít (balíček Microsoft.UI.Xaml obsahuje ovládací prvky a funkce Fluent vhodné pro všechny aplikace). Klikněte na Nainstalovat.

    Zaškrtněte políčko Zahrnout předběžné verze, abyste viděli nejnovější předběžné verze, které obsahují experimentální nové funkce.

    Snímek obrazovky dialogového okna Správce balíčků NuGet, který zobrazuje kartu Procházet s
    Dialogové okno Správce balíčků NuGet zobrazuje kartu Procházet s vyhledávacím polem obsahujícím výraz winui a políčko Zahrnout předběžné verze je zaškrtnuté.

  4. Přidejte zdroje motivu WinUI do souboru App.xaml.

    Existují dva způsoby, jak to udělat v závislosti na tom, jestli máte další prostředky aplikace.

    a. Pokud nepotřebujete další prostředky aplikace, přidejte element XamlControlsResources prostředků WinUI, jak je znázorněno v následujícím příkladu:

    <Application
        x:Class="ExampleApp.App"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        RequestedTheme="Light">
    
        <Application.Resources>
            <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
        </Application.Resources>
    
    </Application>
    

    b) Pokud máte další prostředky, doporučujeme je přidat do XamlControlsResources.MergedDictionariessouboru . To funguje se systémem prostředků platformy a umožňuje přepisovat prostředky XamlControlsResources.

    <Application
        x:Class="ExampleApp.App"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:controls="using:Microsoft.UI.Xaml.Controls"
        RequestedTheme="Light">
    
        <Application.Resources>
            <controls:XamlControlsResources>
                <controls:XamlControlsResources.MergedDictionaries>
                    <ResourceDictionary Source="/Styles/Styles.xaml"/>
                    <!-- Other app resources here -->
                </controls:XamlControlsResources.MergedDictionaries>
            </controls:XamlControlsResources>
        </Application.Resources>
    
    </Application>
    
  5. Přidejte odkaz na balíček WinUI na stránky XAML i na stránky s kódem.

    • Na stránce XAML přidejte odkaz v horní části stránky.

      xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
      
    • V kódu (pokud chcete použít názvy typů bez jejich kvalifikace), můžete přidat direktivu using.

      using MUXC = Microsoft.UI.Xaml.Controls;
      

Další kroky pro projekt C++/WinRT

Když do projektu C++/WinRT přidáte balíček NuGet, nástroj vygeneruje sadu hlaviček projekce ve složce projektu \Generated Files\winrt . Pokud chcete vložit tyto soubory hlaviček do svého projektu, aby se odkazy na tyto nové typy vyřešily, můžete přejít do předkompilovaného hlavičkového souboru (obvykle pch.h) a zahrnout je. Níže je příklad, který obsahuje vygenerované hlavičkové soubory pro balíček Microsoft.UI.Xaml .

// pch.h
...
#include <winrt/Microsoft.UI.Xaml.Automation.Peers.h>
#include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h>
#include <winrt/Microsoft.UI.Xaml.Media.h>
#include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h>
...

Úplný podrobný návod k přidání jednoduché podpory WinUI do projektu C++/WinRT najdete v jednoduchém příkladu C++/WinRT WinUI.

WinUI na GitHubu

Vítáme zprávy o chybách v úložišti microsoft-ui-xaml na GitHubu.