0

私は C# と XAML の両方に不慣れで、ある種の読み取りアプリケーションを作成しています。

したがってTextBlock、タイトルが収まるのに複数の行が必要な場合は、その単語をラップする必要があります。ただし、2行以上になると、その上にラップScrollViewします。

これを行うことで、残りの要素が行の高さのいずれ1かである場合はいつでも、残りの要素をしっかりと整列させることができます。2(max)

XAML または C# でこれを実現するにはどうすればよいですか?

4

1 に答える 1

0

TextBoxa の代わりに 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;
    }
}
于 2013-01-20T03:36:42.697 に答える