MicrosoftがWindowsUI Library3プレビュー4をリリース
9分。 読んだ
上で公開
MSPoweruser の編集チームの維持にどのように貢献できるかについては、開示ページをお読みください。 続きを読む
WinUIは、デスクトップとUWPの両方のWindowsアプリを構築するための最新のコントロールとスタイルを含むユーザーインターフェイスレイヤーです。 WindowsのネイティブUIレイヤーとして、Fluent Designを具体化し、各Windowsアプリにユーザーが期待する洗練された感触を与えます。
[lwptoc title=”WinUI ライブラリ 3 プレビュー 4″ width=”40%” float=”right”]
WinUI 3は、WinUIフレームワークの最新バージョンであり、今年後半に出荷されます。 WinUIを完全なUXフレームワークに劇的に拡張し、Win32からUWPまでのすべての種類のWindowsアプリでUIレイヤーとして使用できるようにします。 準備ができたら、すべてのWindowsアプリは、実行されているWindowsのバージョンに関係なく機能する最新のコントロールを利用できるようになります。
本日リリース、 WinUI3プレビュー4 は、フレームワークの重大なバグ修正とその他の一般的な改善を含む安定性プレビューリリースです。
プレビュー4で導入された機能
- WinUI 2.5との同等性(InfoBarコントロール、ProgressRingとNavigationViewの新機能、およびバグ修正を含む)
- カスタムタイトルバー機能:開発者がデスクトップアプリでカスタムタイトルバーを作成できるようにする新しいWindow.ExtendsContentIntoTitleBarおよびWindow.SetTitleBarAPI。
- VirtualSurfaceImageSourceのサポート
過去のWinUI3プレビューで導入された新機能
次の機能は、WinUI 3プレビュー1〜3で導入され、WinUI3プレビュー4でも引き続きサポートされます。
- WinUIを使用してデスクトップアプリを作成する機能。 .NET 5 Win32アプリの場合
- 放射状グラデーション ブラシ
- TabViewの更新
- ダークテーマの更新
- の改善と更新 webview2
- 高DPIのサポート
- ウィンドウのサイズ変更と移動のサポート
- Edgeのより新しいバージョンをターゲットにするように更新されました
- WebView2固有のNugetパッケージを参照する必要がなくなりました
- スワップチェーンパネル
- MRTコアサポート
- これにより、起動時のアプリの高速化と軽量化が可能になり、リソースの検索が高速化されます。
- ARM64サポート
- アプリの内外にドラッグアンドドロップします
- RenderTargetBitmap(現在はXAMLコンテンツのみ– SwapChainPanelコンテンツはありません)
- カスタムカーソルのサポート
- オフスレッド入力
- ツール/開発者エクスペリエンスの改善:
- ライブビジュアルツリー、ホットリロード、ライブプロパティエクスプローラーおよび同様のツール
- WinUI3のIntellisense
- オープンソースの移行に必要な改善
WinUI 3の利点とWinUIロードマップの両方の詳細については、 WindowsUIライブラリのロードマップ GitHubで。
プレビュー4で修正されたバグのリスト
以下は、プレビュー3以降にチームが修正したユーザー向けのバグのリストです。安定化を取り巻くテストの改善にも多くの作業が行われています。
- このリリースでは、CS / WinRTとWindowsSDKの新しいバージョンが採用され、次のバグが修正されました。
- {Binding}を使用してURIプロパティにバインドするとクラッシュする
- C#/ WinRTマーシャル関数が.NET5と正しく相互運用されていない
- WindowsInsiderビルドで実行するとWinUI3がクラッシュする
- GitHubでこのバグを報告してくれた複数のコミュニティ貢献者に感謝します!
- WebView2は、ホストアプリの言語/ロケールをCoreWebView2Environmentに適用しません
- Windows Community Toolkit DataGridコントロールは、開始時/スクロールバーが表示されたときにアプリをクラッシュさせます
- GitHubでこのバグを報告してくれた複数のコミュニティ貢献者に感謝します!
- 表示モードが変わると、ページのレンダリングが悪い状態になります
- CalendarViewでLanguageComboBoxを使用するとクラッシュする
- WinUI 3デスクトップ:WebView2からタブアウトできません
- WinUI 3デスクトップ:派生TreeViewNodesを含むTreeViewがクラッシュする
- WinUI 3デスクトップ:ContentDialog内のTextBoxにテキストを入力できません
- WinUI 3デスクトップ:ALTとF6が機能しない
- 古い削除されたSwapChainPanelは、新しいSwapChainの上にレンダリングされます
- WinUI 3デスクトップ:トラックパッドでスクロールできない
- 同じスレッドで複数のウィンドウでNavigationViewコントロールを使用するとクラッシュする
- アクセシビリティの問題:WinUIデスクトップアプリの起動にフォーカスを表示する
- DataGridでスクロール中にアクセス違反が発生しました
- WinUI 3デスクトップ:タブサイクリングが機能しない
- WinUIXamlアイランドを使用したデスクトップアプリケーションでGridViewのドラッグアンドドロップが失敗する
- アクセシビリティの問題:WinUI3デスクトップでPageUp / PageDownキーを使用してスクロールできない
- WebView2のビューポートサイズが正しくありません
- MenuFlyoutを開いた後、クリックするとWebView2がクラッシュする
- WinUI 3デスクトップ:DropDownButtonまたはSplitButtonのフライアウトを停止しようとすると、アプリがクラッシュします
- WebView2:マウスをダブル右クリックするとクラッシュします
- ToggleSplitButtonをクリックすると、アプリケーションがクラッシュします
- WinUI 3デスクトップ:タスクバーに表示される空のDesktopWindowXamlSourceウィンドウ
- WinUI 3デスクトップ:DataGridが表示されない
- WinUI 3デスクトップ:ファイルをグリッドにドロップできません
- WinUI 3デスクトップ:WinUI3プレビュー2でItemsRepeaterがクラッシュする
- バインディングの更新時にスローされるAccessViolationException
- WinUI 3デスクトップ:スクロールNavigationViewでアプリがクラッシュする
- ItemsSourceコレクション内のアイテムを動的に追加または削除している間、ItemsControlは更新されません。
- C ++適合モードが有効になっている場合、App.xaml.ghでエラーC2760をコンパイルします
制限と既知の問題
プレビュー4リリースは、バグ、制限、およびデスクトップアプリに関するシナリオに関するその他の問題を含む単なるプレビューであり、特に新しいものです。
次の項目は、WinUI 3 Preview4の既知の問題の一部です。
開発者ツール
- C#およびC ++ / WinRTアプリのみがサポートされています
- デスクトップアプリは.NET5とC#9をサポートしており、MSIXアプリにパッケージ化する必要があります
- UWPアプリは.NETネイティブとC#7.3をサポートします
- Visual Studioバージョン16.8では、開発ツールとIntellisenseが正しく機能しない場合があります。
- XAMLDesignerのサポートなし
- 新しいC ++ / CXアプリはサポートされていませんが、既存のアプリは引き続き機能します(できるだけ早くC ++ / WinRTに移行してください)
- デスクトップアプリでの複数のウィンドウのサポートは進行中ですが、まだ完全で安定していません。
- マルチウィンドウの動作に関する新しい問題やリグレッションを見つけた場合は、リポジトリにバグを報告してください。
- パッケージ化されていないデスクトップ展開はサポートされていません
- F5を使用してデスクトップアプリを実行する場合は、パッケージプロジェクトを実行していることを確認してください。 アプリプロジェクトでF5キーを押すと、WinUI3でまだサポートされていないパッケージ化されていないアプリが実行されます。
欠落しているプラットフォーム機能
- Xboxのサポート
- HoloLensのサポート
- ウィンドウ化されたポップアップ
- 具体的には、
ShouldConstrainToRootBounds
プロパティは常に次のように設定されているかのように機能しますtrue
、プロパティ値に関係なく。
- 具体的には、
- インクサポート
- アクリル
- MediaElementとMediaPlayerElement
- マップコントロール
- SwapChainPanelおよび非XAMLコンテンツのRenderTargetBitmap
- SwapChainPanelは透明性をサポートしていません
- Global Revealは、フォールバック動作、堅実なブラシを使用します
- XAMLアイランドはこのリリースではサポートされていません
- サードパーティのエコシステムライブラリは完全には機能しません
- IMEは機能しません
既知の問題点
- Alt + F4は、デスクトップアプリウィンドウを閉じません。
- との変更により コアウィンドウ、次のWinRTAPIは動作しなくなる可能性があります デスクトップ 期待どおりのアプリ:
ApplicationView
また、関連するすべてのAPIは機能しなくなります。CoreApplicationView
また、関連するすべてのAPIは機能しなくなります。- すべて
GetForCurrentView
たとえば、APIはサポートされていない可能性がありますCoreInputView.GetForCurrentView
. CoreWindow.GetForCurrentThread
nullを返すようになりました。
WinUI3デスクトップアプリでのWinRTAPIの使用の詳細については、を参照してください。 デスクトップアプリで利用可能なWindowsランタイムAPI.
- Windows.UI.ViewManagement.UISettings.ColorValuesChangedイベント デスクトップアプリではサポートされなくなりました。 これを使用してWindowsテーマの変更を検出すると、問題が発生する可能性があります。
- このリリースには、いくつかの実験的なAPIが含まれています。 これらはチームによって徹底的にテストされておらず、未知の問題がある可能性があります。 お願いします バグを報告する 問題が発生した場合は、レポで。
- 以前は、CompositionCapabilitiesインスタンスを取得するには、 CompositionCapabilites.GetForCurrentView()。 ただし、この呼び出しから返された機能は ビューによって異なります。 これに対処して反映するために、このリリースではGetForCurrentView()静的を削除したため、 構成機能 直接オブジェクト。
- C#UWPアプリの場合:WinUI 3フレームワークは、C ++(C ++ / WinRTを使用)またはC#から使用できるWinRTコンポーネントのセットです。 C#を使用する場合、アプリのモデルに応じて.NETには3つのバージョンがあります。UWPアプリでWinUI 5を使用する場合は、.NETNativeを使用します。 デスクトップアプリで使用する場合は、.NET 3(およびC#/ WinRT)を使用します。UWPのWinUI 3アプリでC#を使用する場合、WinUI 2デスクトップアプリまたはC#のC#と比較してAPI名前の違いがいくつかあります。 WinUI XNUMXアプリ:一部のタイプは
Microsoft
名前空間ではなくSystem
名前空間。 たとえば、INotifyPropertyChanged
インターフェースはSystem.ComponentModel
名前空間、それはMicrosoft.UI.Xaml.Data
名前空間。これは以下に適用されます。INotifyPropertyChanged
(および関連するタイプ)INotifyCollectionChanged
ICommand
System
名前空間のバージョンはまだ存在しますが、WinUI3では使用できません。これはつまりObservableCollection
WinUI 3 C#UWPアプリではそのままでは機能しません。 回避策については、を参照してください。 CollectionsInteropサンプル セクションに XAMLコントロールギャラリーのサンプル.
次に何が来るの?
開発者はMicrosoftの詳細を見ることができます 機能ロードマップ 特定の機能がWinUI3にいつ導入されるかを確認します。
WinUI3プレビュー4をインストールします
WinUI 3 Preview 4には、WinUIベースのユーザーインターフェイスを使用してアプリの構築を開始するのに役立つVisual Studioプロジェクトテンプレートと、WinUIライブラリを含むNuGetパッケージが含まれています。 WinUI 3 Preview 4をインストールするには、次の手順に従います。
Windowsコミュニティツールキット
Windows Community Toolkitを使用している場合は、 最新バージョンをダウンロードする.
他にも 制限と既知の問題、WinUIプロジェクトを使用してアプリを構築することは、XAMLおよびWinUI2.xを使用してUWPアプリを構築することに似ています。 したがって、ほとんどの ガイダンスドキュメント UWPアプリと Windows.UI WindowsSDKのWinRT名前空間が適用可能です。
WinUIプロジェクトテンプレートの使用を開始する方法の詳細については、次の記事を参照してください。
このリリースのAPIリファレンスドキュメントは間もなく公開されますが、それまでの間、開発者は プレビュー3のWinUI3APIリファレンスドキュメント.
WinUI 3 Preview 3を使用してプロジェクトを作成した場合は、Preview4を使用するようにプロジェクトをアップグレードできます。 WinUIGitHubリポジトリ 詳細な手順については、
ホットリロード、ライブビジュアルツリー、ライブプロパティエクスプローラーなど、WinUI 3プレビュー4に追加された最新のツール機能を利用するには、最新のWinUI3プレビューを備えた最新のプレビューバージョンのVisualStudioを使用し、必ず有効にする必要があります。 Visual Studioプレビュー機能のWinUIツール( ここの指示.
XAMLコントロールギャラリー(WinUI 3プレビュー4ブランチ)
ジョブの設定方法については、 XAMLコントロールギャラリーのWinUI3プレビュー4ブランチ すべてのWinUI3 Preview4コントロールと機能を含むサンプルアプリの場合。
WinUI3プレビュー4XAMLコントロールギャラリーアプリの例
このWinUI3プレビューリリースは、早期評価と開発者コミュニティからのフィードバックの収集を目的としています。 そうすべき NOT 本番アプリに使用できます。 マイクロソフトは、WinUI 3のプレビューリリースを2021年まで出荷し続け、その後、2021年XNUMX月に最初の公式のサポートされたリリースを出荷します。
使用してください WinUIGitHubリポジトリ フィードバックを提供し、提案や問題をログに記録します。