0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WinUI3Advent Calendar 2022

Day 14

[WinUI3] WinUI3でテキスト中に出てくるリンクをつくりたい2

Posted at

もくじ(WinUI3関連)

やりたいこと

以前の記事で、WinUI3で下記のようなリンクを作りたくていろいろ試した。

image.png

そのときは、<HyperlinkButton>を使って無理くり実現したのだが、その後試していると、うまくいかないところが出てきた。(文字列が長くなってテキストを折り返したいなと思ったときに、うまく折り返してくれない等。)

で、改めてWinUI3 ギャラリーを見直すと、もっと簡単に、もっとちゃんとできる、よさげな奴があったので試す。

前提

  • VisualStudio2022 Community 17.3.0
  • WinUI3.0
  • Windows App SDK 1.1.2
  • 2022年8月の時点で調査実施

やり方

<RichTextBlock>を使う。

サンプルコード

<Window
    x:Class="InlineLinkTextJikken.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:InlineLinkTextJikken"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <RichTextBlock>
        <Paragraph>
            ご意見・ご感想は
            <Hyperlink NavigateUri="https://www.google.com">こちら</Hyperlink>
            まで。
        </Paragraph>
    </RichTextBlock>
</Window>

動かしたところ。
ちゃんとマウスオーバーしたら矢印の形が変わるし、Tabを押したらリンクの部分にフォーカスが合う。

image.png

長い文章だったとしても、標準で端で折り返してくれる。

image.png

今回は、特に飾りっ気のない文言にしたが、
やろうと思えば、<Run>を使って文章の一部のフォントを変えたり、選択した部分の色を指定したりできる様子。

その辺は、WinUI3ギャラリーを参照。

参考

無理やり実現しようとして妙なことをしてる自分の記事。

WinUI3 ギャラリーのRichTextBlockのページのコード。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?