Silverlight多行文本框

kei*_*en7 1 silverlight xaml

我查看了几个代码片段,其中人们建议Silverlight中文本框的AcceptsReturn属性将启用多行.

然而,我的问题是当我添加一个带有所述属性的文本框并且明确设置高度或允许它填充容器时,文本垂直位于文本框的中间.

<Grid x:Name="LayoutRoot" >
    <TextBox TextWrapping="Wrap" Text="TextBox" AcceptsReturn="True"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

替代文字

我需要将文本锚定到文本框的顶部.

kei*_*en7 7

确保文本框中没有隐式样式,在这种情况下会覆盖默认的预期行为.在我的情况下,我使用的是微软的Cosmopolitan主题,它有一个隐含的TextBox元素样式,没有产生正确的行为.

在该主题的资源中,如果查看CoreStyles.xaml文件中的DefaultTextBoxStyle,在第448行,您将找到VerticalAlignment设置为Center的ScrollViewer.调整到顶部解决了我的问题.


Chr*_*isF 5

试试这个:

<Grid x:Name="LayoutRoot">
    <TextBox VerticalAlignment="Stretch" VerticalContentAlignment="Top"
             TextWrapping="Wrap" Text="TextBox" AcceptsReturn="True"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

文本位于框的顶部,框展开以填充整个页面.