我对C#和XAML都是新手,我正在开发一些阅读应用程序。
所以我需要一个TextBlock,如果标题需要超过1行才能适合,它会自动换行。但是当它超过2行时,在它上面包装一个ScrollView。
这样,当rest元素的行高为1或2(max)时,我就可以将它紧密地对齐。
如何在XAML或C#中实现这一点?
发布于 2013-01-20 11:36:43
如果您可以使用TextBox而不是TextBlock,这将会更容易。TextBox支持滚动,并且有一个您可以关闭的LineCount属性。例如,我将几个控件放入一个StackPanel中
<Grid>
<StackPanel HorizontalAlignment="Left" Height="100" Margin="105,127,0,0" VerticalAlignment="Top" Width="184">
<TextBox Height="23" TextWrapping="Wrap" Text="TextBox" Name="TextBox1"/>
<Button Content="Button" Click="Button_Click_2"/>
</StackPanel>
</Grid>然后我有一些代码来更新文本。当我达到2行时,我增加了TextBox,当我达到3行时,我添加了滚动条:
private void Button_Click_2(object sender, RoutedEventArgs e)
{
TextBox1.Text += "More Text";
if (TextBox1.LineCount >= 2)
{
TextBox1.Height = 38;
}
if (TextBox1.LineCount >= 3)
{
TextBox1.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;
}
}https://stackoverflow.com/questions/14421015
复制相似问题