Следующий код работает, как ожидается, в Windows 7:Странное поведение TextBox в ОС Windows 8.1 и Windows 10
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication2.MainWindow"
Title="MainWindow"
Height="Auto"
Width="500"
ResizeMode="NoResize"
WindowStyle="SingleBorderWindow"
SizeToContent="Height"
WindowStartupLocation="CenterScreen">
<Grid>
<TextBox IsReadOnly="True"
MinLines="6"
MaxLines="6"
TextWrapping="Wrap"
VerticalScrollBarVisibility="Visible"
Text="test test test test test test test test test "/>
</Grid>
Тот же код работает под Win8.1 или Win10 показывает TextBox с вертикальной полосой прокрутки центрируется по вертикали в пределах большей области TextBox.
Кажется, проблема с компоновкой WPF. Код был разработан в VS2013, .net 4.5. Все проверенные системы Windows - x64. Любые идеи сделать это простое приложение работает с такими же результатами в win7 ... win10?
Удаление MaxLines не будет ограничивать размер TextBox, который требуется в моем приложении. Также он не объясняет, почему этот код работает правильно в Win7, а не в Win 8.1 или 10. – Hns
Используйте 'VerticalAlignment =" Center "или любое другое релевантное значение. – Alireza
VerticalAlignment или VerticalContentAlignment ничего не меняет в этом примере. Единственное свойство, которое изменяет визуальный результат, - это параметр VerticalScrollBarVisibility, установленный на «Авто». В этом случае полоса прокрутки видима только в том случае, если в TextBox имеется более 6 строк текста, что неточно при установке на «Видимый». – Hns