single.php

C# WinUI 3アプリで GetCurrentView().TitleBar の 0x80070490 例外を解消する方法

C# WinUI 3アプリを作っていく途中で、調べたことを忘録的に投稿します。今回はWinUI3プロジェクトで、CoreApplication.GetCurrentView().TitleBarで発生する例外[System.Runtime.InteropServices.COMException: ‘要素が見つかりません。(0x80070490)’]を解消する方法です。

GetCurrentViewで例外発生

例えば、次のようなコードを実行した場合に例外[0x80070490]が発生します。

var coreTitleBar = CoreApplication.GetCurrentView().TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;

[System.Runtime.InteropServices.COMException: ‘要素が見つかりません。0x80070490)’]という内容で、原因が良く分かりません。

調べてみると、WinUI~WinUI2では動作するようで詳しくは分かりませんが、WinUIを更新していく中で使えなくなってきているようです。

AppWindowTitleBar.ExtendsContentIntoTitleBar が用意されているので、CoreApplicationクラスを使わずに、次のように設定することで例外を回避できます。

ExtendsContentIntoTitleBar = true;

まとめ

今回は短い記事ですが、WinUI3プロジェクトで、CoreApplication.GetCurrentView().TitleBar を呼び出した場合に発生する例外[System.Runtime.InteropServices.COMException: ‘要素が見つかりません。(0x80070490)’]を解消する方法を書きました。

用意されている、AppWindowTitleBar.ExtendsContentIntoTitleBar を使うことで例外の発生を回避できます。

C#のWinUI 3アプリで、CoreApplication.GetCurrentView().TitleBar で例外が発生する人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です