0

我实现了一个自定义控件,它只包含一个标签和一个文本框来输入多行文本:

<DockPanel Name="MyStackPanel" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" LastChildFill="True" >
    <Label DockPanel.Dock="Top"  Content="{Binding MyTitle}" Style="{StaticResource PropertyNameLabelStyle}" />
    <TextBox DockPanel.Dock="Bottom" Text="{Binding Path=MyText, Mode=TwoWay}" IsReadOnly="{Binding MyIsReadOnly}" HorizontalAlignment="Stretch" AcceptsReturn="True" Margin="5,5,5,5" VerticalScrollBarVisibility="Visible" IsUndoEnabled="True"  />
</DockPanel> 

重要的是TextBox填充其父级必须提供的所有空间,但不能更多 - 这与上面的代码配合得很好。但是,如果用户键入的文本比显示的TextBox提供更多的文本会TextBox变得更大(更高),那么只需启用垂直ScrollBar,这就是我 - 我猜大多数其他程序员 - 想要的。

4

1 回答 1

0

我对 XAML 很陌生,但我想你可能想试试这个:

VerticalAlignment为 TextBox 本身设置了:

<TextBox Text="ABC" MinWidth="200" VerticalAlignment="Center">
</TextBox>

它对我有用。

于 2013-07-08T21:20:37.483 回答