条件TextBlock格式

时间:2013-01-20 02:05:50

标签: c# xaml windows-phone-8

我是C#和XAML的新手,我正在制作某种阅读应用程序。

所以如果标题需要超过1行,我需要TextBlock这个词包装。但是当它变得超过2行时,请在其上包裹ScrollView

通过这样做,只要12(max)行高,我就可以紧密对齐其余元素。

如何在XAML或C#中实现这一目标?

1 个答案:

答案 0 :(得分:0)

如果您可以使用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,当我得到三行时,我添加了滚动条:

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;
    }
}