条件必选TextBlock格式

本文关键字:格式 TextBlock 条件 | 更新日期: 2023-09-27 17:54:45

我是c#和XAML的新手,我正在制作一些阅读应用程序。

所以我需要一个TextBlock,如果标题需要超过1行来换行。但是当它变得超过2行时,在它上面换行一个ScrollView

通过这样做,我可以将rest元素紧密对齐,无论它是12(max)行高。

如何在XAML或c#中实现这一点?

条件必选TextBlock格式

如果您可以使用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;
    }
}