我在 ScrollViewer
中有一个 TextBlock
,它与其窗口对齐。我需要 TextBlock
表现如下:
- 随窗口调整大小,无滚动条
- 当
TextBlock
调整到一定宽度以下时,需要保持MinWidth
并且应该出现滚动条 TextWrapping
或TextTrimming
应该可以正常工作
如何获得此功能?
我尝试了几种方法,包括绑定(bind)到 ActualWidth
和 ActualHeight
,但无法让它工作。
这并没有那么难,我错过了什么?
这是一个放入 XamlPad 的代码示例(尚未设置 MinWidth):
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<TextBlock TextWrapping="Wrap" Text="Some really long text that should probably wordwrap when you resize the window." />
</ScrollViewer>
</Window>
最佳答案
这个有效:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ScrollViewer HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
Name="Scroller">
<TextBlock HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
MinWidth="100"
Width="{Binding ElementName=Scroller, Path=ViewportWidth}"
TextWrapping="Wrap"
Text="Some really long text that should probably wordwrap when you resize the window." />
</ScrollViewer>
</Window>
关于C# WPF - ScrollViewer + TextBlock 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1981137/