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 で例外が発生する人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。