single.php

C# WinUI3 でハイパーリンクからWindowsの設定画面を表示する

C# WinUI 3アプリを作っていく途中で、調べたことを忘録的に投稿します。今回はWinUI3プロジェクトで、Xamlに追加したハイパーリンク([RichTextBlock]コントロール)からWindowsの設定画面を表示する場合の手順です。

RichTextBlockでハイパーリンクを追加

WinUI3プロジェクトでXaml画面にハイパーリンクを設置するには[RichTextBlock]コントロールを使います。

例えば、次のXamlでハイパーリンクを設置できます。

<StackPanel
  VerticalAlignment="Center" HorizontalAlignment="Center">
  <RichTextBlock HorizontalAlignment="Center">
    <Paragraph>
      <Hyperlink
        x:Name="Link_OpenSoundDevices"
        UnderlineStyle="None">サウンドデバイスを開く</Hyperlink>
      </Paragraph>
    </RichTextBlock> 
</StackPanel>

実行すると画面に、ハイパーリンクが表示されます。

Windowsの[設定]画面を表示

マイクロソフトの公式ページ[Launch the Windows Settings app]に記載がありますが[ms-settings:workplace]形式でWindowsの設定画面の表示が可能です。

Xaml画面に追加したハイパーリンクに[Click]イベントを追加します。

<StackPanel
  VerticalAlignment="Center" HorizontalAlignment="Center">
  <RichTextBlock HorizontalAlignment="Center">
    <Paragraph>
      <Hyperlink
        x:Name="Link_OpenSoundDevices"
        Click="Link_OpenSoundDevices_Click"
        UnderlineStyle="None">サウンドデバイスを開く</Hyperlink>
      </Paragraph>
    </RichTextBlock> 
</StackPanel>

追加したイベントハンドラーに、次のコードを追加します。

private async void Link_OpenSoundDevices_Click(Microsoft.UI.Xaml.Documents.Hyperlink sender, Microsoft.UI.Xaml.Documents.HyperlinkClickEventArgs args)
{
  bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:sound-devices"));
}

実行して画面のハイパーリンクをクリックするとWindowsの[サウンドデバイス]画面が表示されます。

その他の設定画面は[Launch the Windows Settings app]に一覧があります。

まとめ

今回は短い記事ですが、Visual StudioのWinUI3プロジェクトで、Xamlに追加したハイパーリンク([RichTextBlock]コントロール)からWindowsの設定画面を表示する場合の手順を紹介しました。

WinUI 3アプリで画面に設置したハイパーリンクから、Windowsの[設定]画面を表示したい人の参考になれば幸いです。

スポンサーリンク

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

コメントを残す

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