簡體   English   中英

列表框水平滾動不會包裹整個文本塊

[英]Listbox horizontal scroll doesn't wrap the whole textblock

我有一個帶有文本塊(作為 ItemTemplate)的 ListBox,它可以包含很長的文本,所以我設置了水平滾動,但即使這樣做,在文本塊內我也沒有整個文本,只有當我也設置文字的換行:

<ListBox ItemsSource="{Binding ListOfText, Mode=OneWay}"
                 ScrollViewer.VerticalScrollBarVisibility="Auto"
                 ScrollViewer.HorizontalScrollBarVisibility="Auto"
                 ScrollViewer.CanContentScroll="False">
    <ListBox.ItemTemplate>
                <DataTemplate>
                        <TextBlock Text="{Binding Text}"
                                   HorizontalAlignment="Left"
                                   VerticalAlignment="Top" />
                </DataTemplate>
            </ListBox.ItemTemplate>
</ListBox>

所以設置 TextBlock 的包裝

TextWrapping="Wrap"

修復了這個問題,但我不希望 TextBlock 換行多行,我想要一行,如果我想看到文本的結尾只滾動到結尾(水平)。 它的行為就像水平滾動將顯示最大數量的像素,我認為情況並非如此。

而不是 TextBlock 添加一個 Grid 與 2 列。 將第二列的寬度指定為 1。將 TextBlock 放在第 0 列的網格內。現在它將換行。

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="1" />
    </Grid.ColumnDefinitions>

    <TextBlock Grid.Column="0" Text="{Binding Text}" TextWrapping="Wrap" />    </Grid>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM