0
我是C#和XAML的新手,我正在製作某種閱讀應用程序。有條件的TextBlock格式化
所以我需要一個TextBlock
該字包裝,如果標題需要超過1行適合。但是,當它變得更多的2行適合,包裝ScrollView
就可以了。
通過這樣做,只要它是1
或2(max)
行高,我就可以將其他元素緊緊對齊。
如何在XAML或C#中實現此目標?
我是C#和XAML的新手,我正在製作某種閱讀應用程序。有條件的TextBlock格式化
所以我需要一個TextBlock
該字包裝,如果標題需要超過1行適合。但是,當它變得更多的2行適合,包裝ScrollView
就可以了。
通過這樣做,只要它是1
或2(max)
行高,我就可以將其他元素緊緊對齊。
如何在XAML或C#中實現此目標?
如果您可以使用TextBox
而不是TextBlock
,那將更容易。 A 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;
}
}
但是TextBox是一個輸入控件。我想如何處理? – user1510539
根據你需要做什麼,'IsReadOnly =「True」'可能就夠了。否則,網上有很多關於如何以各種不同方式格式化文本框的示例。 –
那麼可以像TextBlock一樣格式化它嗎?那麼表演呢? – user1510539