询问者
请教,滚动条样式,最小高度被遮挡

问题
-
请教,我重设了滚动条的样式,中间的滑动条有个最小高度20。
图一,数据不多时,正常显示
图二,记录多时, ButPageDown 会遮挡滑动条。
滑动条的层次已经在ButPageDown 之上,还是被遮挡。
请问,计算ButPageDown和滑动块 的比例是在哪里可以看到?
如何解决这个问题?
<Track x:Name="PART_Track" IsDirectionReversed="true" IsEnabled="{TemplateBinding IsMouseOver}" Grid.Row="1" > <Track.DecreaseRepeatButton> <RepeatButton Command="{x:Static ScrollBar.PageUpCommand}" Style="{StaticResource VerticalScrollBarPageButton}" /> </Track.DecreaseRepeatButton> <Track.IncreaseRepeatButton> <RepeatButton x:Name="ButPageDown" Command="{x:Static ScrollBar.PageDownCommand}" Style="{StaticResource VerticalScrollBarPageButton}" Background="Yellow" /> </Track.IncreaseRepeatButton> <Track.Thumb > <Thumb MinHeight="20" Style="{DynamicResource ThumbStyleStandard2}" Microsoft_Windows_Themes:ScrollChrome.ScrollGlyph="VerticalGripper" HorizontalAlignment="Center" /> </Track.Thumb> </Track>
图一
图二
不见不散
全部回复
-
找到资料:
下列計算是用來計算 Thumb 的大小。
thumbSize = (viewportSize/(maximum–minimum+viewportSize))×trackLength
viewportSize 參數是 ViewportSize 屬性的值。 maximum 和 minimum 參數會對應至 Maximum 和 Minimum 屬性值。 運算式maximum–minimum+viewportSize 的值是可捲動內容的大小。 請注意,當內容捲動至底部時,Maximum 屬性的值表示 Track 的 Value。這個 Maximum 值不同於內容的長度或範圍。 如需詳細說明,請參閱Track.Maximum。
ScrollBar 默认设置 ViewportSize="{TemplateBinding ViewportHeight}"
目前我设置了50,改变了比例,暂时解决了这个问题。
怎么让ViewportSize 和父控件的Items.count想关联,这样可以动态设置比例。
http://msdn.microsoft.com/zh-tw/library/system.windows.controls.primitives.track.viewportsize.aspx
不见不散 -
你试试设置ViewportSize=“NaN”,
<Track Name="PART_Track"
ViewportSize="NaN"
Sheldon _Xiao[MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.