Silverlight多行文本框

时间:2011-01-17 22:38:28

标签: silverlight xaml

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

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

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

alt text

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

2 个答案:

答案 0 :(得分:7)

确保文本框没有隐式样式,在这种情况下会覆盖默认的预期行为。在我的情况下,我使用的是Microsoft的Cosmopolitan Theme,它有一个TextBox元素的隐式样式,但没有产生正确的行为。

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

答案 1 :(得分:5)

试试这个:

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

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