Многострочное текстовое поле Silverlight - PullRequest
1 голос
/ 18 января 2011

Я рассмотрел несколько фрагментов кода, где люди предполагают, что свойство AcceptsReturn текстового поля в Silverlight будет включать несколько строк.

Однако моя проблема заключается в том, что когда я добавляю текстовое поле с указанным свойством, а explicity задает высоту или позволяет ему заполнить контейнер, текст располагается вертикально в середине текстового поля.

<Grid x:Name="LayoutRoot" >
    <TextBox TextWrapping="Wrap" Text="TextBox" AcceptsReturn="True"/>
</Grid>

alt text

Мне нужен текст для привязки к верхней части текстового поля.

Ответы [ 2 ]

7 голосов
/ 18 января 2011

Убедитесь, что для текстового поля не существует неявного стиля, который переопределяет ожидаемое поведение по умолчанию в этом случае. В моем случае я использовал Cosmopolitan Theme от Microsoft, и у него был неявный стиль для элементов TextBox, которые не обеспечивали правильного поведения.

В ресурсах из этой темы, если вы посмотрите на DefaultTextBoxStyle в файле CoreStyles.xaml, в строке 448 вы найдете ScrollViewer с VerticalAlignment, установленным в Center. Приспособление к вершине решило мою проблему.

5 голосов
/ 18 января 2011

Попробуйте это:

<Grid x:Name="LayoutRoot">
    <TextBox VerticalAlignment="Stretch" VerticalContentAlignment="Top"
             TextWrapping="Wrap" Text="TextBox" AcceptsReturn="True"/>
</Grid>

Текст находится вверху окна, а поле растягивается, чтобы заполнить всю страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...