96

メッセージを表示する WPF リストボックスがあります。左側にアバターがあり、ユーザー名とメッセージがアバターの右側に垂直に積み上げられています。メッセージ テキストが折り返されるまでレイアウトは問題ありませんが、代わりにリスト ボックスに水平スクロール バーが表示されます。

私はグーグルで同様の問題の解決策を見つけましたが、どれもうまくいきませんでした。

<ListBox HorizontalContentAlignment="Stretch"  ItemsSource="{Binding Path=FriendsTimeline}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Border BorderBrush="DarkBlue" BorderThickness="3" CornerRadius="2" Margin="3" >
                    <Image Height="32" Width="32"  Source="{Binding Path=User.ProfileImageUrl}"/>
                </Border>
                <StackPanel Orientation="Vertical">
                    <TextBlock Text="{Binding Path=User.UserName}"/>
                    <TextBlock Text="{Binding Path=Text}" TextWrapping="WrapWithOverflow"/> <!-- This is the textblock I'm having issues with. -->
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
4

3 に答える 3

135

の内容は、TextBlockプロパティを使用してラップできますTextWrapping。の代わりに/StackPanelを使用します。もう 1 つ -プロパティをの値に設定します。DockPanelGridScrollViewer.HorizontalScrollBarVisibilityDisabledListBox

HiddenMatt からのコメントにDisabled基づいて更新されました。ありがとうマット。

于 2008-12-29T07:35:24.950 に答える
9

問題が ListBox にない可能性があります。親コントロールの 1 つが十分なスペースを提供する場合、TextBlock は折り返されないため、折り返す必要はありません。これは、ScrollViewer コントロールが原因である可能性があります。

于 2008-12-29T07:23:14.787 に答える