RichTextBox LineHeight 설정 방법에 대해

안녕하세요.

현재 WPF RichTextBox(System.Windows.Controls)를 사용하여 Editer를 개발 중에 있습니다.

LineHeight를 사용하여 Paragraph 사이의 간격은 조절했지만
속성 TextWrapping, 줄 길이가 길어 밑으로 2줄 이상이 되는… 한 Paragraph 내의 줄 간격 조절을 하지 못하고 있습니다…

아주 기초적인 질문일수도 있다고 생각하지만 아무리 찾아봐도 정보가 잘 나오지 않네요…

혹시 조절하는 방법에 대해 아시는 분 계실까요?

미리 감사드립니다.

1 Like

Paragraph의 마진을 없애고 FlowDocument로 감싸서 LineHeight 설정을 해보았는데

이렇게 강제 개행과 자동 줄바꿈의 LineHeight가 동일하게 나오면 되는건가요 ?


<RichTextBox Width="200">
            <RichTextBox.Resources>
                <Style TargetType="{x:Type Paragraph}">
                    <Setter Property="Margin" Value="0"/>
                </Style>
            </RichTextBox.Resources>
            <FlowDocument LineHeight="30">
                <Paragraph FontSize="10pt"
                           LineHeight="30"
                           LineStackingStrategy="BlockLineHeight"/>
            </FlowDocument>
</RichTextBox>

[결과]

image


원하시는게 요런게 아니고 더 디테일적으로 처리 되어야 한다면

직접 커스텀 부자텍스트박스를 만드셔서 OnRender() 메서드를 오버라이드 하셔서

텍스트 변경시 실시간으로 직접 그리셔야 할 것 같습니다.

4 Likes

주제와 다른 이야기입니다…

한번도 이렇게 불러본 적이 없었는데 아룽님이 오늘 하루 저에게 마음이 좋아지는 기분 전환의 입가를 주었어요. 고맙네요.

3 Likes

아룽님, 너무 감사합니다…
제가 Paragraph.Margin을 보면서 LineHeight이라고 착각하고 있었던 걸 알았습니다…
LineHeight을 15로 주고 있어 그 간격이 너무 좁아 깨닫지 못하고 있었습니다ㅠㅠㅠ
(전 왜 LineHeight값을 더 크게 설정해 볼 생각을 하지 않았던 걸까요…반성합니다…)
너무 초보적인 질문에 답변 달아주셔서 너무 감사합니다!!!

2 Likes