Как сделать так, чтобы WPF TextBox прокручивал текст в положение каретки? - PullRequest
2 голосов
/ 16 декабря 2009

Стандартный элемент управления WPF TextBox не прокручивает переполненный текст в позицию каретки, когда текст вводится в элемент управления. Можно ли создать такое поведение в отдельном элементе управления WPF TextBox? Если так - как? Примером такого поведения является то, как по умолчанию HTML input type = text действует в большинстве (если не во всех?) Браузерах.

1 Ответ

2 голосов
/ 17 декабря 2009

TextBox будет иметь такое поведение, если ему не позволено растягиваться бесконечно.

<StackPanel>
    <StackPanel Orientation="Horizontal"
                Margin="5">
        <TextBlock Text="No Horizontal Scrolling:" />
        <TextBox HorizontalAlignment="Stretch"
                 MinWidth="100" />
    </StackPanel>
    <StackPanel Orientation="Horizontal"
                Margin="5">
        <TextBlock Text="Horizontal Scrolling:" />
        <TextBox Width="100" />
    </StackPanel>
    <StackPanel Orientation="Horizontal"
                Margin="5">
        <TextBlock Text="Horizontal Scrolling:" />
        <TextBox HorizontalAlignment="Stretch"
                 MinWidth="50"
                 MaxWidth="100" />
    </StackPanel>
    <DockPanel Margin="5">
        <TextBlock DockPanel.Dock="Left"
                   Text="Horizontal Scrolling:" />
        <TextBox />
    </DockPanel>
</StackPanel>
...