列表框滚动条宽度和高度问题

时间:2011-07-29 20:38:17

标签: wpf xaml layout controls

我有这个列表框 -

    <ListBox ScrollViewer.VerticalScrollBarVisibility="Hidden" ScrollViewer.HorizontalScrollBarVisibility="Hidden" MaxHeight="80" Width="Auto" Name="listbox" ItemsSource="{Binding Text}" Style="{StaticResource Textblockstyle}" ToolTipService.ShowDuration="360000000">                                       
      <ListBox.ToolTip>
      <ToolTip MaxHeight="150" MaxWidth="500" Background="LightYellow">
      <TextBlock Text="{Binding listbox}" TextWrapping="Wrap"></TextBlock> 
      </ToolTip>  

</ListBox.ToolTip>                                        
    </ListBox>

我需要为列表框设置滚动条的宽度。 任何想法。

提前致谢!

2 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。最好的方法是为ListBox编写自定义样式,在其中显式设置滚动条的宽度。您可以使用StyleSnooper获取当前样式,然后将其复制并粘贴到Xaml中并根据需要进行修改。

下一个最好的方法是入侵模板本身。在默认的ListBox模板中,没有滚动条的命名部分,实际上它使用ScrollViewer。但是您可以为ScrollViewer编写一个带控件模板的自定义样式,并将其添加到ListBox资源中,以便为ListBox设置它。

您还可以深入查看可视树并直接设置滚动条。使用类似Peter Blois' Snoop的内容来查看特定可视树中的内容。

答案 1 :(得分:0)

感谢您的回复。 我这样想:

将滚动查看器添加到列表框并为其定义资源。

8 8