私は C# と XAML の両方に不慣れで、ある種の読み取りアプリケーションを作成しています。
したがってTextBlock
、タイトルが収まるのに複数の行が必要な場合は、その単語をラップする必要があります。ただし、2行以上になると、その上にラップScrollView
します。
これを行うことで、残りの要素が行の高さのいずれ1
かである場合はいつでも、残りの要素をしっかりと整列させることができます。2(max)
XAML または C# でこれを実現するにはどうすればよいですか?
私は C# と XAML の両方に不慣れで、ある種の読み取りアプリケーションを作成しています。
したがってTextBlock
、タイトルが収まるのに複数の行が必要な場合は、その単語をラップする必要があります。ただし、2行以上になると、その上にラップScrollView
します。
これを行うことで、残りの要素が行の高さのいずれ1
かである場合はいつでも、残りの要素をしっかりと整列させることができます。2(max)
XAML または C# でこれを実現するにはどうすればよいですか?
TextBox
a の代わりに aを使用できれば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;
}
}