当 WPF 中的文本太长时带有滑块的 TextBlock
TextBlock with a slider when text is too long in WPF
如题。我想用水平和垂直滑块创建 TextBlock
,它会根据文本大小自动调整。 Google 只是向我显示 Slider
控件,这绝对不是我要找的。
有什么线索可以实现吗?
编辑
感谢这里的一些乐于助人的人,我得到了这个:
<ScrollViewer Grid.Column="1" Style="{StaticResource MaterialDesignScrollViewer}">
<TextBlock ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="{Binding Path=(SQLLog:LogDisplay.LogAdvanced)}" FontSize="12"/>
</ScrollViewer>
出现垂直滚动条,水平没有。即使文本不适合 TextBlock
.
您可以使用 ScrollViewer
及其 HorizontalScrollBarVisiblity
和 VerticalScrollBarVisibility
属性。只需用它包围您的 TextBox
:
<ScrollViewer HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
Height="100"
Width="200">
<TextBlock Text="{Binding MyFancyTextProperty}"
Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ScrollViewer}}, Path=Width}"
TextWrapping="Wrap"/>
</ScrollViewer>
考虑将 TextWrapping="Wrap"
添加到您的 TextBlock
,这样它的内容就不会最终显示在一行中。
如果您想随时显示滚动条,即使内容适合,将它们的值设置为 Visible
:
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible"
如题。我想用水平和垂直滑块创建 TextBlock
,它会根据文本大小自动调整。 Google 只是向我显示 Slider
控件,这绝对不是我要找的。
有什么线索可以实现吗?
编辑
感谢这里的一些乐于助人的人,我得到了这个:
<ScrollViewer Grid.Column="1" Style="{StaticResource MaterialDesignScrollViewer}">
<TextBlock ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="{Binding Path=(SQLLog:LogDisplay.LogAdvanced)}" FontSize="12"/>
</ScrollViewer>
出现垂直滚动条,水平没有。即使文本不适合 TextBlock
.
您可以使用 ScrollViewer
及其 HorizontalScrollBarVisiblity
和 VerticalScrollBarVisibility
属性。只需用它包围您的 TextBox
:
<ScrollViewer HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
Height="100"
Width="200">
<TextBlock Text="{Binding MyFancyTextProperty}"
Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ScrollViewer}}, Path=Width}"
TextWrapping="Wrap"/>
</ScrollViewer>
考虑将 TextWrapping="Wrap"
添加到您的 TextBlock
,这样它的内容就不会最终显示在一行中。
如果您想随时显示滚动条,即使内容适合,将它们的值设置为 Visible
:
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible"