簡體   English   中英

WPF文本塊不會在tabcontrol中顯示滾動條

[英]wpf textblock won't display scrollbar inside tabcontrol

我有一個帶有文本塊的tabcontrol。 我似乎沒有做任何事情都能使垂直滾動條起作用。 我已經用堆棧面板嘗試過了。 然后僅在文本塊內部而不是外部使用scrollviewer選項。 奇怪的是,水平滾動條可以正常工作。 這顯示了垂直滾動條,但未啟用。 如果將它們都設置為“自動”,則即使文本比控件長,垂直滾動也不顯示。

<TabItem Header="Item Description" FontSize="14" FontWeight="DemiBold">
    <DockPanel>
        <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Auto">
            <TextBlock Text="{Binding SelectedItemText}" Padding="5" FontSize="14" TextWrapping="Wrap"
                DockPanel.Dock="Top" Height="100"  MinHeight="100"
                HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
        </ScrollViewer>
    </DockPanel>
</TabItem>

Visual Studio 2017,WPF,MVVM

您可以將ScrollViewerTextBlock替換為只讀的TextBox

<TabItem Header="Item Description" FontSize="14" FontWeight="DemiBold">
    <DockPanel>
        <TextBox Text="{Binding SelectedItemText, Mode=OneWay}"
                             TextWrapping="Wrap"
                             Padding="5" FontSize="14"
                             IsReadOnly="True"
                             BorderThickness="0"
                             Height="100"
                             MinHeight="100"
                             AcceptsReturn="True"
                             SelectionBrush="{x:Null}"
                             Cursor="Arrow"
                             ScrollViewer.VerticalScrollBarVisibility="Auto"/>
    </DockPanel>
</TabItem>

您已在ScrollViewer啟用了水平滾動。 這意味着TextBlock的文本永遠不會換行,因為它的父容器已經賦予了它無限的寬度可以水平增長。 嘗試將HorizontalScrollBarVisibility設置為Disabled -當文本塊水平空間不足時,這將迫使文本塊換行。 一旦文本超出ScrollViewer的垂直限制,如果VerticalScrollBarVisibility設置為Auto則垂直滾動條將變為可見;如果將VerticalScrollBarVisibility設置為Visible則垂直滾動條將變為啟用。

暫無
暫無

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

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