いくつかのプレビューの後ビルド、MicrosoftはWindows App SDK 1.0.0 Stableをリリースしました。これは、デスクトップアプリの開発者が最新のWindows UI、API、プラットフォーム機能を備えたアプリをビルドできるようにするツールキットです。
このリリースでは、Microsoftは複数を追加しました。 Windows App SDK0.8の新機能と1.0プレビューリリースの安定した問題。
WinUI 3
WinUI 3は、Windows App SDKのネイティブユーザーエクスペリエンス(UX)フレームワークです。
新機能と更新:
Microsoftは新しいコントロール(PipsPager、Expander、BreadcrumbBar)を追加し、既存のコントロールを更新して、 WinUI 2.6 .Single-project MSIXパッケージはでサポートされています「空白のアプリ、パッケージ化された…」テンプレートを使用して新しいアプリケーションを作成することによるWinUI。Microsoftは、Windowsバージョン1809以降でのMSIXパッケージ化なしのWinUI3アプリの展開をサポートするようになりました。 WinUI3をパッケージ化せずに作成するをご覧ください詳細については、デスクトップアプリをご覧ください。WinUI3プロジェクトでは、ターゲットバージョンをWindows 10、バージョン1809に設定できるようになりました。以前は、バージョン1903までしか設定できませんでした。アプリ内ツールバー、ホットリロード、ライブWinUIパッケージアプリ用のVisualTreeは、Visual Studio 2022 Preview5およびGAでサポートされています。
重要な制限:
パッケージ化されたWinUIアプリケーションとパッケージ化されていないWinUIアプリケーションの両方の既知の問題:シングルプロジェクトMSIXを使用するWinUIアプリケーションの既知の問題(空白のアプリ、パッケージ化されたテンプレート):Visual Studioを再起動するまで[パッケージと公開]メニュー項目がありません:両方でシングルプロジェクトMSIXを使用して新しいアプリを作成する場合空白のアプリ、パッケージ化された(デスクトップのWinUI 3)プロジェクトテンプレートを使用するVisual Studio2019およびVisualStudio 2022、プロジェクトを公開するコマンドが表示されないVisual Studioを閉じて再度開くまでnu。シングルプロジェクトMSIXを使用するC#アプリは、「C ++(v14x)ユニバーサルWindowsプラットフォームツール」オプションコンポーネントがインストールされていないとコンパイルされません。表示
ウィンドウ処理
WindowsアプリSDKは、 AppWindow クラスは、以前の使いやすいWindows.UI.WindowManagement.AppWindowプレビュークラスを進化させ、Win32を含むすべてのWindowsアプリで利用できるようにします。 、WPF、およびWinForms。
新機能
AppWindow は、Windowsユーザーとうまく統合できる使いやすいウィンドウシナリオを可能にする高レベルのウィンドウAPIです。経験と他のアプリで。アプリのコンテンツのシステム管理コンテナの高レベルの抽象化を表します。これは、コンテンツがホストされるコンテナーであり、ユーザーがアプリのサイズを変更して画面上で移動するときに対話するエンティティを表します。 Win32に精通している開発者にとって、AppWindowはHWNDの高レベルの抽象化と見なすことができます。
入力
これらは、WinUIをサポートし、開発者がより高度な入力操作を実現するための低レベルのAPIサーフェスを提供する入力APIです。
新機能
重要な制限
すべて
アプリライフサイクル
アプリライフサイクル機能のほとんどは、UWPプラットフォームにすでに存在します。デスクトップアプリタイプ、特にパッケージ化されていないコンソールアプリ、Win32アプリ、Windowsフォームアプリ、およびWPFアプリで使用するためにWindows AppSDKに組み込まれています。これらの機能のWindowsApp SDK実装は、UWPプラットフォーム自体に同等の機能があるため、UWPアプリでは使用できません。
重要
UWPアプリに取り組んでいる場合は、 UWP移行ガイダンス。アプリをWindowsAppSDKに移行する方法の詳細をご覧ください。
非UWPアプリも可能です。 MSIXパッケージにパッケージ化されます。これらのアプリは、Windows App SDKアプリのライフサイクル機能の一部を使用できますが、これが利用可能な場合はマニフェストアプローチを使用する必要があります。たとえば、Windows App SDK RegisterForXXXActivation APIを使用することはできず、代わりにマニフェストを介してリッチアクティベーションに登録する必要があります。
パッケージ化されたアプリのすべての制約は、WinUIアプリにも適用されます。パッケージ化されており、以下に説明する追加の考慮事項があります。
重要な考慮事項:
豊富なアクティベーション: GetActivatedEventArgs リッチアクティベーションの登録/登録解除パッケージ化されていないアプリ:完全に使用可能。パッケージ化アプリ:使用できません。代わりにアプリのMSIXマニフェストを使用してください。詳細については、リッチアクティベーション。シングル/マルチインスタンスアンパッケージアプリ:完全に使用可能。パッケージアプリ:完全に使用可能。WinUIアプリ:アプリが他のインスタンスを検出する場合esを使用してアクティベーションをリダイレクトするには、できるだけ早く、ウィンドウなどを初期化する前に行う必要があります。これを有効にするには、アプリでDISABLE_XAML_GENERATED_MAINを定義し、カスタムMain(C#)またはWinMain(C ++)を記述して実行できるようにする必要があります。検出とリダイレクト。
既知の問題:
Verbハンドラーのコマンドラインテンプレートを設定すると、ファイルタイプの関連付けで%1が誤って%251にエンコードされ、パッケージ化されていないWin32がクラッシュしますアプリ。部分的な回避策として、レジストリ値を手動で編集して%1にすることができます。ターゲットファイルパスにスペースが含まれている場合でも失敗し、そのシナリオの回避策はありません。これらのシングル/マルチインスタンス化のバグは、今後のサービスパッチで修正されます:AppInstanceリダイレクションはx86キーを登録し、登録を解除し、再登録すると、アプリがクラッシュします
DWriteCore
DWriteCoreは、 DirectWrite は、高品質のテキストレンダリング、解像度に依存しないアウトラインフォント、および完全なUnicode用のDirectXAPIです。テキストとレイアウトのサポート。 DWriteCoreは、Windows10からWindows10、バージョン1809(10.0;ビルド17763)までのバージョンで実行されるDirectWriteの形式であり、クロスプラットフォームで使用するための扉を開きます。
機能 DWriteCoreには、いくつかの例外を除いて、DirectWriteのすべての機能が含まれています。
重要な制限
DWriteCoreには、次のDirectWrite機能は含まれていません。セッションごとfontsEnd-ユーザー定義文字(EUDC)fontsFont-streaming API低レベルのレンダリングAPIサポートは部分的です。DWriteCoreはDirect2Dと相互運用しませんが、
MRTコア
MRTコアは、最新のWindowsの合理化されたバージョンです Windows AppSDKの一部として配布されるリソース管理システム。
重要な制限
.NETプロジェクトでは、アプリが既にビルドされている場合、プロジェクトフォルダーにコピーアンドペーストされたリソースファイルはF5でインデックスに登録されません。回避策として、アプリを再構築します。詳細については、 issue 1503 を参照してください。.NETプロジェクトでは、リソースファイルがVisual Studio UIを使用するプロジェクトでは、ファイルはデフォルトでインデックス付けされない場合があります。詳細については、 issue 1786 をご覧ください。この問題を回避するには、CSPROJファイルの以下のエントリを削除してください。