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の[設定]画面を表示したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。