Windows UI ライブラリ 3 Preview 3 (2020 年 11 月)Windows UI Library 3 Preview 3 (November 2020)

Windows UI ライブラリ (WinUI) 3 は、Windows デスクトップと UWP の両アプリに対応したネイティブ ユーザー エクスペリエンス (UX) フレームワークです。Windows UI Library (WinUI) 3 is a native user experience (UX) framework for both Windows Desktop and UWP apps.

WinUI 3 Preview 3 により新規および強化された機能の両方が提供され、大幅なバグ修正も含まれています。WinUI 3 Preview 3 brings both new and improved functionality, along with significant bug fixes.

Preview 3 の制限事項と既知の問題 」を参照してください。See Preview 3 limitations and known issues.

重要

この WinUI 3 Preview リリースは、早期評価と、開発者コミュニティからのフィードバックの収集を目的としています。This WinUI 3 preview release is intended for early evaluation and to gather feedback from the developer community. 実稼働アプリには使用 できませんIt should NOT be used for production apps.

WinUI 3 のプレビュー リリースは 2021 年にかけて継続され、その後、最初の公式リリースが続きます。We will continue shipping preview releases of WinUI 3 into 2021, followed by the first official release.

WinUI GitHub リポジトリを使用して、フィードバックを提供し、提案と問題をログに記録してください。Please use the WinUI GitHub repo to provide feedback and log suggestions and issues.

WinUI 3 Preview 3 をインストールするInstall WinUI 3 Preview 3

WinUI 3 Preview 3 には、WinUI ベースのユーザー インターフェイスを備えたアプリの構築を始める際に役立つ Visual Studio プロジェクト テンプレートと、WinUI ライブラリを含む NuGet パッケージが含まれています。WinUI 3 Preview 3 includes Visual Studio project templates to help get started building apps with a WinUI-based user interface, and a NuGet package that contains the WinUI libraries. WinUI 3 Preview 3 をインストールするには、次の手順を実行します。To install WinUI 3 Preview 3, follow these steps.

注意

XAML コントロール ギャラリーの WinUI 3 Preview 3 バージョンを複製して構築することもできます。You can also clone and build the WinUI 3 Preview 3 version of the XAML Controls Gallery.

  1. 開発用コンピューターに Windows 10 バージョン 1803 (ビルド 17134) 以降がインストールされていることを確認します。Ensure that your development computer has Windows 10, version 1803 (build 17134), or newer installed.

  2. Visual Studio 2019 バージョン 16.9 Preview をインストールします。Install Visual Studio 2019, version 16.9 Preview

    Visual Studio をインストールする際、次のワークロードを含める必要があります。You must include the following workloads when installing Visual Studio:

    • .NET デスクトップ開発 (これにより .NET 5 もインストールされます).NET Desktop Development (this also installs .NET 5)
    • ユニバーサル Windows プラットフォームの開発Universal Windows Platform development

    C++ アプリを構築するには、次のワークロードも含める必要があります。To build C++ apps, you must also include the following workloads:

    • C++ によるデスクトップ開発Desktop development with C++
    • ユニバーサル Windows プラットフォーム ワークロード用の C++ (v142) ユニバーサル Windows プラットフォーム ツール のオプション コンポーネント (右ペインにある [ユニバーサル Windows プラットフォーム開発] セクションの [インストールの詳細] を参照してください)The C++ (v142) Universal Windows Platform tools optional component for the Universal Windows Platform workload (see "Installation Details" under the "Universal Windows Platform development" section, on the right pane)
  3. nuget.org に対して NuGet パッケージ ソースがシステムで有効になっていることを確認します。詳細については、「一般的な NuGet 構成」と「Windows コミュニティ ツールキット」を参照してください。Make sure your system has a NuGet package source enabled for nuget.org. For more information, see Common NuGet configurations.Windows Community Toolkit

  4. WinUI 3 Preview 3 VSIX パッケージをダウンロードしてインストールします。Download and install the WinUI 3 Preview 3 VSIX package. これにより、WinUI 3 プロジェクト テンプレートと、WinUI 3 ライブラリを含む NuGet パッケージの両方が Visual Studio 2019 に追加されます。This adds both the WinUI 3 project templates and the NuGet package containing the WinUI 3 libraries to Visual Studio 2019.

    VSIX パッケージを Visual Studio に追加する方法については、Visual Studio 拡張機能を見つけて使用する方法に関するページをご覧ください。For instructions on how to add the VSIX package to Visual Studio, see Finding and Using Visual Studio Extensions.

WebView2WebView2

アプリで WebView2 コントロールを使用している場合は、Microsoft Edge Insider Channels から Microsoft Edge ブラウザーの Dev Channel バージョン をインストールしてください。If you're using the WebView2 control in your app, please install the Dev Channel version of the Microsoft Edge Browser from Microsoft Edge Insider Channels. Microsoft Edge Beta、Microsoft Edge Dev、および Microsoft Edge WebView2 Runtime の既存のインスタンスを必ずアンインストールしてください。Make sure to uninstall any existing instances of Microsoft Edge Beta, Microsoft Edge Dev, and Microsoft Edge WebView2 Runtime.

Windows Community ToolkitWindows Community Toolkit

Windows コミュニティ ツールキットを使用している場合は、最新バージョンをダウンロードしてください。If you're using the Windows Community Toolkit, download the latest version.

WinUI プロジェクトを作成するCreate WinUI projects

WinUI 3 Preview 3 VSIX パッケージをインストールすると、Visual Studio の WinUI プロジェクト テンプレートのいずれかを使用して新しいプロジェクトを作成できるようになります。After installing the WinUI 3 Preview 3 VSIX package, you're ready to create a new project using one of the WinUI project templates in Visual Studio. [新しいプロジェクトの作成] ダイアログで WinUI プロジェクト テンプレートにアクセスするには、言語を C++ または C# に、プラットフォームを Windows に、プロジェクトの種類を WinUI にフィルター処理します。To access the WinUI project templates in the Create a new project dialog, filter the language to C++ or C#, the platform to Windows, and the project type to WinUI. または、WinUI を検索して、使用できる C# または C++ テンプレートのいずれかを選択することもできます。Alternatively, you can search for WinUI and select one of the available C# or C++ templates.

WinUI プロジェクト テンプレート

WinUI プロジェクト テンプレートの概要については、次の記事を参照してください。For more information about getting started with the WinUI project templates, see the following articles:

制限と既知の問題を除くと、WinUI プロジェクトを使用したアプリの構築は、XAML と WinUI 2.x を使用した UWP アプリの構築と似ています。Aside from the limitations and known issues, building an app using the WinUI projects is similar to building a UWP app with XAML and WinUI 2.x. そのため、Windows SDK の UWP アプリと Windows.UI WinRT 名前空間の ガイダンス ドキュメントのほとんどを適用できます。Therefore, most of the guidance documentation for UWP apps and the Windows.UI WinRT namespaces in the Windows SDK is applicable.

このリリースでは、WinUI 3 に移植されたすべての WinRT API の WinUI 3 API リファレンス ドキュメントも追加されています。With this release, we've also added WinUI 3 API reference documentation for all WinRT APIs ported to WinUI 3.

WinUI 3 Preview 2 を使用してプロジェクトを作成した場合、Preview 3 を使用するようにプロジェクトをアップグレードすることができます。If you created a project using WinUI 3 Preview 2, you can upgrade your project to use Preview 3. 詳細な手順については、WinUI の GitHub リポジトリを参照してください。See the WinUI GitHub repository for detailed instructions.

WinUI 3 用のプロジェクト テンプレートProject templates for WinUI 3

これらの WinUI プロジェクト テンプレートを使用してアプリを作成することができます。You can use these WinUI project templates to create apps.

テンプレートTemplate LanguageLanguage 説明Description
[Blank App, Packaged (WinUI in Desktop)](空のアプリ、パッケージ (WinUI in Desktop))Blank App, Packaged (WinUI in Desktop) C++ および C#C# and C++ WinUI ベースのユーザー インターフェイスを使用して、デスクトップ .NET 5 (C#) またはネイティブ Win32 (C++) アプリを作成します。Creates a desktop .NET 5 (C#) or native Win32 (C++) app with a WinUI-based user interface. 生成されるプロジェクトには、UI の構築を始める際に使用できる WinUI ライブラリの Microsoft.UI.Xaml.Window クラスから派生する基本ウィンドウが含まれています。The generated project includes a basic window that derives from the Microsoft.UI.Xaml.Window class in the WinUI library that you can use to start building your UI. このプロジェクトの種類の詳細については、「デスクトップ アプリ用の WinUI 3 の概要」を参照してください。For more information about this project type, see Get started with WinUI 3 for desktop apps.

また、このソリューションには、アプリを MSIX パッケージに組み込むよう構成されている Windows アプリケーション パッケージ プロジェクトも含まれています。The solution also includes a Windows Application Packaging Project that is configured to build the app into an MSIX package. これによって、最新のデプロイ エクスペリエンスがもたらされ、パッケージ拡張機能を使用して Windows 10 の機能と統合できるなど、さまざまなメリットがあります。This provides a modern deployment experience, the ability to integrate with Windows 10 features via package extensions, and much more.
空のアプリ (UWP の WinUI)Blank App (WinUI in UWP) C++ および C#C# and C++ WinUI ベースのユーザー インターフェイスを備えた UWP アプリを作成します。Creates a UWP app that with a WinUI-based user interface. 生成されるプロジェクトには、UI の構築を始める際に使用できる、WinUI ライブラリの Microsoft.UI.Xaml.Controls.Page クラスから派生した基本的なページが含まれています。The generated project includes a basic page that derives from the Microsoft.UI.Xaml.Controls.Page class in the WinUI library that you can use to start building your UI. このプロジェクトの種類の詳細については、「UWP アプリ用の WinUI 3 の概要」を参照してください。For more information about this project type, see Get started with WinUI 3 for UWP apps.

これらの WinUI プロジェクト テンプレートを使用すると、WinUI ベースのアプリで読み込んで使用できるコンポーネントを構築することができます。You can use these WinUI project templates to build components that can be loaded and used by a WinUI-based app.

テンプレートTemplate LanguageLanguage 説明Description
[Class Library (WinUI in Desktop)](クラス ライブラリ (WinUI in Desktop))Class Library (WinUI in Desktop) C# のみC# only WinUI ベースのユーザー インターフェイスを備えた他の .NET 5 デスクトップ アプリで使用できる .NET 5 マネージド クラス ライブラリ (DLL) を C# で作成します。Creates a .NET 5 managed class library (DLL) in C# that can be used by other .NET 5 desktop apps with a WinUI-based user interface.
クラス ライブラリ (UWP の WinUI)Class Library (WinUI in UWP) C# のみC# only WinUI ベースのユーザー インターフェイスを備えた他の UWP アプリで使用できるマネージド クラス ライブラリ (DLL) を C# で作成します。Creates a managed class library (DLL) in C# that can be used by other UWP apps with a WinUI-based user interface.
Windows ランタイム コンポーネント (WinUI)Windows Runtime Component (WinUI) C++C++ C++/WinRT で記述された Windows ランタイム コンポーネントを作成します。これは、アプリの記述に使用したプログラミング言語に関係なく、WinUI ベースのユーザー インターフェイスを備えた任意の UWP またはデスクトップ アプリで使用できます。Creates a Windows Runtime component written in C++/WinRT that can be consumed by any UWP or Desktop app with a WinUI-based user interface, regardless of the programming language in which the app is written.
Windows ランタイム コンポーネント (UWP)Windows Runtime Component (UWP) C#C# C# で記述された Windows ランタイム コンポーネントを作成します。これは、アプリの記述に使用したプログラミング言語に関係なく、WinUI ベースのユーザー インターフェイスを備えた任意の UWP アプリで使用できます。Creates a Windows Runtime component written in C# that can be consumed by any UWP app with a WinUI-based user interface, regardless of the programming language in which the app is written.

WinUI 3 用の項目テンプレートItem templates for WinUI 3

次の項目テンプレートは、WinUI プロジェクトで使用できます。The following item templates are available for use in a WinUI project. これらの WinUI 項目テンプレートにアクセスするには、ソリューション エクスプローラー でプロジェクト ノードを右クリックし、 [追加] -> [新しい項目] を選択し、 [新しい項目の追加] ダイアログの [WinUI] をクリックします。To access these WinUI item templates, right-click the project node in Solution Explorer, select Add -> New item, and click WinUI in the Add New Item dialog.

WinUI の項目テンプレート

テンプレートTemplate LanguageLanguage 説明Description
空白のページ (WinUI)Blank Page (WinUI) C++ および C#C# and C++ WinUI ライブラリの Microsoft.UI.Xaml.Controls.Page クラスから派生する新しいページを定義する XAML ファイルとコード ファイルを追加します。Adds a XAML file and code file that defines a new page derived from the Microsoft.UI.Xaml.Controls.Page class in the WinUI library.
空のウィンドウ (デスクトップの WinUI)Blank Window (WinUI in Desktop) C++ および C#C# and C++ WinUI ライブラリの Microsoft.UI.Xaml.Window クラスから派生する新しいウィンドウを定義する XAML ファイルとコード ファイルを追加します。Adds a XAML file and code file that defines a new window derived from the Microsoft.UI.Xaml.Window class in the WinUI library.
カスタム コントロール (WinUI)Custom Control (WinUI) C++ および C#C# and C++ 既定スタイルを使用してテンプレート化されたコントロールを作成するためのコード ファイルを追加します。Adds a code file for creating a templated control with a default style. テンプレート化されたコントロールは、WinUI ライブラリの Microsoft.UI.Xaml.Controls.Control クラスから派生します。The templated control is derived from the Microsoft.UI.Xaml.Controls.Control class in the WinUI library.

この項目テンプレートの使用方法を示すチュートリアルについては、「C++/WinRT を使用した UWP および WinUI 3 アプリ用のテンプレート化された XAML コントロール」および「C# を使用した UWP および WinUI 3 アプリ用のテンプレート化された XAML コントロール」を参照してください。For a walkthrough that demonstrates how to use this item template, see Templated XAML controls for UWP and WinUI 3 apps with C++/WinRT and Templated XAML controls for UWP and WinUI 3 apps with C#. テンプレート化されたコントロールの詳細については、「カスタム XAML コントロール」を参照してください。For more information about templated controls, see Custom XAML Controls.
リソース ディクショナリ (WinUI)Resource Dictionary (WinUI) C++ および C#C# and C++ 空の、XAML リソースのキー付きコレクションを追加します。Adds an empty, keyed collection of XAML resources. 詳細については、「ResourceDictionary と XAML リソースの参照」を参照してください。For more information, see ResourceDictionary and XAML resource references.
リソース ファイル (WinUI)Resources File (WinUI) C++ および C#C# and C++ アプリ用の文字列および条件付きリソースを格納するファイルを追加します。Adds a file for storing string and conditional resources for your app. この項目を使用して、アプリをローカライズすることができます。You can use this item to help localize your app. 詳細については、「UI とアプリ パッケージ マニフェスト内の文字列をローカライズする」を参照してください。For more info, see Localize strings in your UI and app package manifest.
ユーザー コントロール (WinUI)User Control (WinUI) C++ および C#C# and C++ WinUI ライブラリの Microsoft.UI.Xaml.Controls.UserControl クラスから派生するユーザー コントロールを作成するための XAML ファイルとコード ファイルを追加します。Adds a XAML file and code file for creating a user control that derives from the Microsoft.UI.Xaml.Controls.UserControl class in the WinUI library. 通常、ユーザー コントロールによって関連する既存のコントロールがカプセル化され、独自のロジックが提供されます。Typically, a user control encapsulates related existing controls and provide its own logic.

ユーザー コントロールの詳細については、「カスタム XAML コントロール」を参照してください。For more information about user controls, see Custom XAML Controls.

Visual Studio のサポートVisual Studio Support

ホット リロード、ライブ ビジュアル ツリー、ライブ プロパティ エクスプローラーなど、WinUI 3 Preview 3 に追加された最新のツール機能を利用するには、Visual Studio の最新プレビュー バージョンを最新の WinUI 3 プレビューと共に使用する必要があります。In order to take advantage of the latest tooling features added into WinUI 3 Preview 3 like Hot Reload, Live Visual Tree, and Live Property Explorer, you must use the latest preview version of Visual Studio with the latest WinUI 3 preview. 次の表に、WinUI 3 Preview 3 との今後のバージョンの互換性を示します。The table below shows the compatibility of future versions with WinUI 3 Preview 3:

VS バージョンVS Version WinUI 3 Preview 3WinUI 3 Preview 3
16.8 RTM16.8 RTM いいえNo
16.9 プレビュー16.9 Previews はいYes
16.9 RTM16.9 RTM いいえNo
16.10 プレビュー16.10 Previews はいYes

Preview 3 の新機能New features and capabilities in Preview 3

  • ARM64 のサポートARM64 Support
  • アプリの内部および外部でのドラッグ アンド ドロップDrag and drop inside and outside of apps
  • RenderTargetBitmap (現時点では XAML コンテンツのみ - SwapChainPanel コンテンツなし)RenderTargetBitmap (currently only XAML content - no SwapChainPanel content)
  • ツール/開発者エクスペリエンスの向上:Improvements to our tooling/developer experience:
    • ライブ ビジュアル ツリー、ホット リロード、ライブ プロパティ エクスプローラー、および類似のツールLive Visual Tree, Hot Reload, Live Property Explorer and similar tools
    • Intellisense が WinUI 3 に対応するようになりましたIntellisense now working for WinUI 3
  • MRT Core のサポートMRT Core Support
    • これにより、スタートアップ時にアプリの速度と軽量化が向上し、リソース検索が迅速になります。This makes apps faster and lighter on startup and provides quicker resource lookup.
  • カスタム カーソル サポートCustom cursor support
  • オフスレッド入力Off-thread input
  • Preview 2 からのパフォーマンスの向上Performance improvements since Preview 2
  • デスクトップ アプリでの複数のウィンドウ - Preview 2 からのサポートの向上Multiple windows in Desktop apps - improved support since Preview 2

過去の WinUI 3 プレビューで導入された新機能New features and capabilities introduced in past WinUI 3 Previews

次の機能は、WinUI 3 Preview 1 と 2 で導入されたものであり、WinUI 3 Preview 3 で引き続きサポートされます。The following features and capabilities were introduced in WinUI 3 Preview 1 & 2 and continue to be supported in WinUI 3 Preview 3.

  • WinUI を使用してデスクトップ アプリを作成する機能 (Win32 アプリ用の .NET 5 を含む)Ability to create Desktop apps with WinUI, including .NET 5 for Win32 apps
  • RadialGradientBrushRadialGradientBrush
  • TabView の更新TabView updates
  • ダーク テーマの更新Dark theme updates
  • WebView2 の機能強化と更新Improvements and updates to WebView2
    • 高 DPI のサポートSupport for High DPI
    • ウィンドウのサイズ変更と移動のサポートSupport for window resizing and moving
    • より新しいバージョンの Edge を対象とするよう更新されましたUpdated to target more recent version of Edge
    • WebView2 固有の Nuget パッケージの参照が不要になりましたNo longer necessary to reference a WebView2-specific Nuget package
  • SwapChainPanelSwapChainPanel
  • オープン ソースの移行に必要な機能強化Improvements required for open source migration

WinUI 3 および WinUI のロードマップと利点の詳細については、GitHub の「Windows UI Library Roadmap」を参照してください。For more information on both the benefits of WinUI 3 and the WinUI roadmap, see the Windows UI Library Roadmap on GitHub.

フィードバックやご提案の送信Provide feedback and suggestions

WinUI GitHub リポジトリにフィードバックをお寄せください。We welcome your feedback in the WinUI GitHub repo.

今後予定された機能What's coming next?

詳細な機能のロードマップを参照して、特定の機能が WinUI 3 に導入されるタイミングを確認してください。Take a look at our detailed feature roadmap to see when specific features will be brought into WinUI 3.

Preview 3 の制限事項と既知の問題Preview 3 limitations and known issues

Preview 3 リリースはプレビュー版にすぎません。The Preview 3 release is just that, a preview. デスクトップ アプリに関するシナリオは特に新しいものです。The scenarios around Desktop apps are especially new. バグ、制限事項、およびその他の問題があることを想定してください。Please expect bugs, limitations, and other issues.

次の項目は、WinUI 3 Preview 3 に関する既知の問題の一部です。The following items are some of the known issues with WinUI 3 Preview 3. 以下に列挙していない問題が見つかった場合は、WinUI の GitHub リポジトリで、既存の問題に投稿するか、または新規の問題として投稿して、Microsoft にお知らせください。If you find an issue that isn't listed below, please let us know by contributing to an existing issue or filing a new issue through the WinUI GitHub repo.

プラットフォームと OS のサポートPlatform and OS support

WinUI 3 Preview 3 は、Windows 10 April 2018 Update (バージョン 1803 - ビルド 17134) 以降を実行する PC と互換性があります。WinUI 3 Preview 3 is compatible with PCs running the Windows 10 April 2018 Update (version 1803 - build 17134) and newer.

開発者用ツールDeveloper tools

  • C# および C++/WinRT アプリのみがサポートされていますOnly C# and C++/WinRT apps are supported
  • デスクトップ アプリは .NET 5 および C# 9 をサポートしており、MSIX アプリ内でパッケージ化する必要がありますDesktop apps support .NET 5 and C# 9, and must be packaged in an MSIX app
  • UWP アプリは .NET Native および C# 7.3 をサポートしていますUWP apps support .NET Native and C# 7.3
  • Visual Studio バージョン 16.8 では、開発者ツールと Intellisense が正しく機能しない可能性があります。Developer tools and Intellisense may not work properly in Visual Studio version 16.8.
  • XAML デザイナーはサポートされていませんNo XAML Designer support
  • 新しい C++ /cx アプリはサポートされていませんが、既存のアプリは引き続き機能します ( C++ /WinRT にできるだけ早く移行してください)New C++/CX apps are not supported, however, your existing apps will continue to function (please move to C++/WinRT as soon as possible)
  • デスクトップ アプリでの複数のウィンドウのサポートは進行中ですが、まだ完全でなく安定していません。Support for multiple windows in Desktop apps is in progress, but not yet complete and stable.
    • 複数のウィンドウの動作に新しい問題や不具合が見つかった場合は、リポジトリにバグを報告してください。Please file a bug on our repo if you find new issues or regressions with multi-window behavior.
  • パッケージ化されていないデスクトップ展開はサポートしていませんUnpackaged desktop deployment is not supported
  • F5 キーを使用してデスクトップ アプリを実行する場合は、パッケージ プロジェクトを実行していることを確認してください。When running a Desktop app using F5, make sure that you are running the packaging project. アプリ プロジェクトで F5 キーを押すと、パッケージ化されていないアプリが実行されます。これは、WinUI 3 ではまだサポートされていません。Hitting F5 on the app project will run an unpackaged app, which WinUI 3 does not yet support.

ラットフォーム機能が不足していますMissing Platform Features

  • Xbox のサポートXbox support
  • HoloLens のサポートHoloLens support
  • ウィンドウありのポップアップWindowed popups
    • 具体的には、プロパティの値に関係なく、ShouldConstrainToRootBounds プロパティは常に、true に設定されているかのように動作します。More specifically, the ShouldConstrainToRootBounds property always acts as if it's set to true, regardless of the property value.
  • 手描き入力のサポートInking support
  • アクリルAcrylic
  • MediaElement および MediaPlayerElementMediaElement and MediaPlayerElement
  • MapControlMapControl
  • SwapChainPanel および XAML 以外のコンテンツ用の RenderTargetBitmapRenderTargetBitmap for SwapChainPanel and non-XAML content
  • SwapChainPanel は透明度をサポートしていませんSwapChainPanel does not support transparency
  • グローバルな表示でフォールバック動作 (純色ブラシ) を使用しますGlobal Reveal uses fallback behavior, a solid brush
  • 今回のリリースでは XAML Islands はサポートしていませんXAML Islands is not supported in this release
  • サードパーティ製エコシステム ライブラリは完全には機能しません3rd party ecosystem libraries will not fully function
  • IME は機能しませんIMEs do not work

既知の問題Known issues

  • Alt + F4 を押したとき、デスクトップ アプリ ウィンドウは閉じません。Alt+F4 does not close Desktop app windows.

  • アプリで WebView2 を使用しているにもかかわらず、レンダリングや読み込みが行われない場合は、互換性のないバージョンの Edge ブラウザーを実行している可能性があります。If you’re using a WebView2 in your app but it is not rendering or loading, you may be running an incompatible version of the Edge browser. Microsoft Edge の Dev チャネルをダウンロードして、Microsoft Edge Beta、Microsoft Edge Dev、および Microsoft Edge WebView2 Runtime の既存のインスタンスを必ずアンインストールしてください。Download the Dev channel of Microsoft Edge and be sure to uninstall any existing instances of Microsoft Edge Beta, Microsoft Edge Dev, and Microsoft Edge WebView2 Runtime.

  • マーシャリング関数は .NET 5 WinUI アプリでは使用できません。これは、C#/WinRT と正しく相互運用されないためです。Marshal functions should not be used in .NET 5 WinUI apps as they do not interoperate correctly with C#/WinRT. 詳細については、このページを参照してください。For more details, see this page.

  • Xaml マークアップで {Binding} を使用するなど、URI プロパティを設定するときにクラッシュが発生した場合は、{x:Bind} を使用するか、C#/WinRT のプレビュー バージョンを使用することによってそれを回避できます。If you experience a crash setting a URI property, for example using a {Binding} in Xaml markup, you can work around it by using {x:Bind}, or by using a preview version of C#/WinRT. これを行うには、.csproj ファイルに次の行を追加します。To do this, add the following lines to your .csproj file:

    <ItemGroup>
      <FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" 
                          RuntimeFrameworkVersion="10.0.18362.11-preview" />
      <FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" 
                          TargetingPackVersion="10.0.18362.11-preview" />
    </ItemGroup>
    
  • C# UWP アプリの場合:For C# UWP apps:

    WinUI 3 フレームワークは、C++ (C++/WinRT を使用) または C# から使用できる WinRT コンポーネントのセットです。The WinUI 3 framework is a set of WinRT components which can be used from C++ (using C++/WinRT) or C#. C# を使用する場合、アプリ モデルに応じて 2 つのバージョンの .NET があります: UWP アプリで WinUI 3 を使用する場合は .NET Native を使用し、デスクトップ アプリで使用する場合は .NET 5 を使用しています (および C#/WinRT)。When using C#, there are two versions of .NET, depending on the app model: when using WinUI 3 in a UWP app you’re using .NET Native; when using in a Desktop app you’re using .NET 5 (and C#/WinRT).

    UWP で WinUI 3 アプリに C# を使用する場合は、WinUI 3 デスクトップ アプリまたは C# WinUI 2 アプリでの C# と比較して、いくつかの API 名前空間の違いがあります: 一部の種類は System 名前空間ではなく Microsoft 名前空間です。When using C# for a WinUI 3 app in UWP, there are a few API namespace differences compared to C# in a WinUI 3 Desktop app or a C# WinUI 2 app: some types are in a Microsoft namespace rather than a System namespace. たとえば、INotifyPropertyChanged インターフェイスは、System.ComponentModel 名前空間ではなく、Microsoft.UI.Xaml.Data 名前空間にあります。For example, rather than the INotifyPropertyChanged interface being in the System.ComponentModel namespace, it’s in the Microsoft.UI.Xaml.Data namespace.

    この方法は、次の対象に適用されます。This applies to:

    • INotifyPropertyChanged (および関連する型)INotifyPropertyChanged (and related types)
    • INotifyCollectionChanged
    • ICommand

    System 名前空間バージョンは依然として存在しますが、WinUI 3 では使用できません。The System namespace versions still exist, but cannot be used with WinUI 3. これは、ObservableCollection が、WinUI 3 C# UWP アプリではそのまま機能しないことを意味します。This means that ObservableCollection doesn't work as-is in WinUI 3 C# UWP apps. この回避策については、XAML コントロール ギャラリーのサンプルCollectionsInterop のサンプルを参照してください。For a workaround, see the CollectionsInterop sample in the XAML Controls Gallery sample.

すべての WinUI 3 Preview 3 コントロールおよび機能を含むサンプル アプリについては、XAML コントロール ギャラリーの WinUI 3 Preview 3 ブランチを参照してください。See the WinUI 3 Preview 3 branch of the XAML Controls Gallery for a sample app that includes all WinUI 3 Preview 3 controls and features.

WinUI 3 Preview 3 XAML コントロール ギャラリー アプリWinUI 3 Preview 3 XAML Controls Gallery app
WinUI 3 Preview 3 XAML コントロール ギャラリー アプリの例Example of the WinUI 3 Preview 3 XAML Controls Gallery app

サンプルをダウンロードするには、次のコマンドを使用して winui3preview ブランチを複製します。To download the sample, clone the winui3preview branch using the following command:

git clone --single-branch --branch winui3preview https://github.com/microsoft/Xaml-Controls-Gallery.git

複製した後、確実に、ローカルの Git 環境で winui3preview ブランチに切り替えてください。After cloning, ensure that you switch to the winui3preview branch in your local Git environment:

git checkout winui3preview