【发布时间】:2016-01-25 21:30:21
【问题描述】:
当窗口的宽度小于第一列文本的宽度时,我需要显示水平滚动条。
<Window x:Class="Sample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ScrollViewer Grid.Column="0" >
<TextBlock Text="Very looooong text" FontSize="30"/>
</ScrollViewer>
<Border Grid.Column="1" Background="Red"/>
<Border Grid.Column="2" Background="Green"/>
</Grid>
</Window>
最好的方法是什么?
--编辑 当用户首先从右向左拖动窗口的右边框时,我需要缩小第三列直到它消失,然后我需要缩小第二列直到它消失,然后当窗口的宽度小于文本时我需要显示水平滚动条
【问题讨论】:
-
要获得水平滚动条,您需要在 ScrollViewer 上设置
HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled"。 -
@sthotakura,不,它不起作用
-
我尝试了一个示例应用程序,它适用于我。您可能需要将字体大小增加到 50 左右才能看到效果?
-
好的,当字体大小较大时,您的解决方案可以工作,但我需要解决方案,当文本开始时不比列宽时。当用户将窗口的宽度更改为更小的宽度时,我需要显示滚动条。