MAUIのEditorにスクロールバーを表示する C#

背景

MAUIのEditorはデフォルトではスクロールバーが表示されません。
この方法が見つからず詰まったので、後の人のために書き残しておきます。

方法

結論から言うと、EditorをScrollViewで囲ってやる必要があります。

<ScrollView VerticalScrollBarVisibility="Always" HorizontalOptions="Fill" HeightRequest = "250">
    <Editor x:Name="testEditor" AutoSize="TextChanges"/>
</ScrollView>

ここで重要なのは「VerticalScrollBarVisibility」と「AutoSize」で、「VerticalScrollBarVisibility」で常に(Always)スクロールバーを表示する設定とし、「AutoSize」でEditorが編集されたらスクロールバーの有無を判定するようにします。

Editorのプロパティで買えるものとばかり思っていたので、少々苦労しました。
ご参考まで。

参考文献

ScrollView - .NET MAUI
.NET MAUI ScrollView は、コンテンツをスクロールできるレイアウトです。
Expandable editor in scrollview cutting text in Maui
I am trying to create an editor field which behaves roughly like the one on Messenger. That is: Can expand when the user types multiple lines The editor can on...

コメント

タイトルとURLをコピーしました