在wpf中,将scroll viewer.horizontalscrollbarvisibility和scroll viewer.verticalscrollbarvisibility属性直接设置为控件并显示滚动条因为要在wpf中显示滚动条,必须将控件放置在“滚动条视图控件”(ScrollViewer )上。
ScrollViewer属性说明:
3358 www.Sina.com/viewplaincopyprint? verticalscrollbarvisibility=' auto '//设置垂直滚动条的自动显示。 如果内部控件的实际高度大于ScrollViewer的高度,将自动显示垂直滚动条。 horizontalscrollbarvisibility=' auto '//设置水平滚动条的自动显示。 如果内部控件的实际宽度大于ScrollViewer的宽度,则会自动显示水平滚动条。 verticalscrollbarvisibility=' auto '//设置垂直滚动条的自动显示。 如果内部控件的实际高度大于ScrollViewer的高度,将自动显示垂直滚动条。 horizontalscrollbarvisibility=' auto '//设置水平滚动条的自动显示。 如果内部控件的实际宽度大于ScrollViewer的宽度,则会自动显示水平滚动条。 由于“WrapPanel”和“StackPanel”是特殊的,因此我们将讨论这两个控件。 1、wrap面板
内部控件的自动换行布局的面板。
那么,在什么情况下换行呢? 达到“WrapPanel”的宽度时。
问题:如果WrapPanel的所有水平对齐属性都设置为“Stretch”,则可以将宽度设置为无穷大。 在这种情况下,仅显示水平滚动条,而垂直滚动条无效。
解决方案设置“WrapPanel”的宽度。
设置解决方案WrapPanel的宽度以适应ScrollViewer的宽度: width=' { binding element name=scrlist,Path=Width,Mode=OneWay} '此时为scroll vement
2、堆栈面板
内部控件的垂直布局的面板。
如果子控件的宽度大于堆栈面板的宽度,将显示水平滚动条。
如果子控件的高度大于堆栈面板的高度,将显示垂直滚动条。
[html]
1、显示水平滚动条。
3358 www.Sina.com/viewplaincopyprint? scrollviewerx : name=' SCR ' margin='0' verticalscrollbarvisibility=' auto ' horizontalscrollbarvisibility=' auto rgin='0' verticalscrollbarvisibility=' auto ' horizontalscrollbarvisibility=' auto ' horizontalscrolllbarvisibilility
3358 www.Sina.com/viewplaincopyprint? scrollviewerx 3360 name=' SCR ' margin='0' verticalscrollbarvisibility=' auto ' wrappanelx 3360 name=' pnl candidate ' scate ' n='0' verticalscrollbarvisibility=' auto ' wrappanelx 3360 name=' pnl scroll viewer此时默认WrapPanel的horizontal alignmenment 也就是说,由于适应了ScrollerViewer的宽度,WrapPanel子控件将自动换行,超过父控件的高度时将显示垂直滚动条。 第二种情况:
3358 www.Sina.com/viewplaincopyprint? scrollviewerx : name=' SCR ' margin='0' verticalscrollbarvisibility=' auto ' horizontalscrollbarvisibility=' auto Mode=OneWay}'//scrollviewerscrollviewerx : name=' SCR ' margin='0' verticalscrollbarvisibility=' auto ' horizontalscrollbarvisibilibility ity candidate ' width=' { binding element name=scrlist,Path=Width, Mode=OneWay}'//ScrollViewer设置为自动显示水平滚动条和垂直滚动条时,如果希望显示垂直滚动条,请选择width=' {绑定元素name } 二.堆栈面板子控件中将显示滚动条。
3358 www.Sina.com/viewplaincopyprint? StackPanelLabelContent='候选列表' fontsize=' 18 ' width=' 5000 ' background=' transparent ' foreground=' white ' borded scrollviewerx 3360 name=' scrlist ' margin='0' verticalscrollbarvisibility=' auto ' height=' 390 ' local 3360 wrap panel ss sackpanelstackpanellabelcontent='候选列表' fontsize=' 18 ' width=' 5000 ' background=' transparent ' foreground=' whithitlllllllababababed scrollviewerx : name=' scrlist ' margin='0' verticalscrollbarvisibility=' auto ' height=' 390 ' local 3360 wrap panel