C# 条件文本块格式

C# 条件文本块格式,c#,xaml,windows-phone-8,C#,Xaml,Windows Phone 8,我对C#和XAML都是新手,我正在制作某种阅读应用程序 因此,我需要一个TextBlock,如果标题需要超过1行才能匹配,则该单词将被包装。但是当它超过2行时,在其上包装一个ScrollView 通过这样做,无论是1还是2(最大)行高,我都可以将rest元素紧密对齐 如何在XAML或C#中实现这一点?如果您可以使用文本框而不是文本块,则会更容易。TextBox支持滚动,并且有一个LineCount属性,您可以将其设置为关闭。例如,我将一些控件放入堆栈面板中: <Grid> &

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

因此,我需要一个
TextBlock
,如果标题需要超过1行才能匹配,则该单词将被包装。但是当它超过2行时,在其上包装一个
ScrollView

通过这样做,无论是
1
还是
2(最大)
行高,我都可以将rest元素紧密对齐


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

如果您可以使用
文本框
而不是
文本块
,则会更容易。
TextBox
支持滚动,并且有一个
LineCount
属性,您可以将其设置为关闭。例如,我将一些控件放入
堆栈面板中:

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

但是文本框是一个输入控件。我该如何处理呢?根据您需要做的事情,
IsReadOnly=“True”
可能就足够了。另外,网上有很多关于如何以各种不同方式格式化文本框的例子。那么,是否有可能将其格式化为与TextBlock完全相同的格式呢?性能如何?@user1510539我不知道您对外观的要求,但您可以在WPF中执行各种操作,以使文本框符合您的要求。一个快速的谷歌搜索返回和感谢,作为替代。符合我的要求:)
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;
    }
}