ScrollViewer.HorizontalScrollBarVisibility 屬性
獲取或設置一個值,該值指示是否顯示水平方向的滾動條,默認值為Hidden。
ScrollViewer.VerticalScrollBarVisibility 屬性
獲取或設置一個值,該值指示是否顯示垂直方向的滾動條,默認值為Visible。
VerticalScrollBarVisibility與HorizontalScrollBarVisibility是ScrollBarVisibility枚舉類型的值。
//
// 摘要:
// 指定的可見性 System.Windows.Controls.Primitives.ScrollBar 的可滾動的內容。
public enum ScrollBarVisibility
{
//
// 摘要:
// 一個 System.Windows.Controls.Primitives.ScrollBar 不即使不會出現在視區無法顯示的所有內容。 內容的維度設置為相應的維度的
// System.Windows.Controls.ScrollViewer 父級。 對於水平 System.Windows.Controls.Primitives.ScrollBar,
// ,內容的寬度設置為 System.Windows.Controls.ScrollViewer.ViewportWidth 的 System.Windows.Controls.ScrollViewer。
// 對於垂直 System.Windows.Controls.Primitives.ScrollBar, ,內容的高度設置為 System.Windows.Controls.ScrollViewer.ViewportHeight
// 的 System.Windows.Controls.ScrollViewer。
Disabled = 0,
//
// 摘要:
// 一個 System.Windows.Controls.Primitives.ScrollBar 出現和維度的 System.Windows.Controls.ScrollViewer
// 視區無法顯示的所有內容時應用於內容。 對於水平 System.Windows.Controls.Primitives.ScrollBar, ,內容的寬度設置為
// System.Windows.Controls.ScrollViewer.ViewportWidth 的 System.Windows.Controls.ScrollViewer。
// 對於垂直 System.Windows.Controls.Primitives.ScrollBar, ,內容的高度設置為 System.Windows.Controls.ScrollViewer.ViewportHeight
// 的 System.Windows.Controls.ScrollViewer。
Auto = 1,
//
// 摘要:
// 一個 System.Windows.Controls.Primitives.ScrollBar 不即使不會出現在視區無法顯示的所有內容。 維度的 System.Windows.Controls.ScrollViewer
// 不應用於內容。
Hidden = 2,
//
// 摘要:
// 一個 System.Windows.Controls.Primitives.ScrollBar 始終顯示。 維度的 System.Windows.Controls.ScrollViewer
// 應用於內容。 對於水平 System.Windows.Controls.Primitives.ScrollBar, ,內容的寬度設置為 System.Windows.Controls.ScrollViewer.ViewportWidth
// 的 System.Windows.Controls.ScrollViewer。 對於垂直 System.Windows.Controls.Primitives.ScrollBar,
// ,內容的高度設置為 System.Windows.Controls.ScrollViewer.ViewportHeight 的 System.Windows.Controls.ScrollViewer。
Visible = 3
}
通俗一點講:
Disabled,禁用滾動條。表現在無論內容是否超過父容器大小,都不會顯示滾動條,並且滾動鼠標滑輪也不會滑動內容。Auto,自動。內容不超出父容器時,不顯示滾動條,超出父容器時,顯示滾動條。Hidden,隱藏滾動條。與Disabled的區別在於,這里只是隱藏,當滾動鼠標滑輪時,依然可以滾動內容。Visible,始終顯示。不論內容是否超過父容器大小,都會顯示滾動條。
可通過以下示例查看效果:
<Window x:Class="ScrollViewer.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ScrollViewer"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.Resources>
<Style x:Key="BorderStyle" TargetType="{x:Type Border}">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<GradientStop Color="AliceBlue" Offset="0"/>
<GradientStop Color="AntiqueWhite" Offset="0.2"/>
<GradientStop Color="Aqua" Offset="0.4"/>
<GradientStop Color="Aquamarine" Offset="0.6"/>
<GradientStop Color="Azure" Offset="0.8"/>
<GradientStop Color="Beige" Offset="1.0"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<Border Height="800" Style="{StaticResource BorderStyle}" ToolTip="Auto"/>
</ScrollViewer>
<ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Auto">
<Border Height="300" Style="{StaticResource BorderStyle}" ToolTip="Auto"/>
</ScrollViewer>
<ScrollViewer Grid.Column="2" VerticalScrollBarVisibility="Disabled">
<Border Height="800" Style="{StaticResource BorderStyle}" ToolTip="Disabled"/>
</ScrollViewer>
<ScrollViewer Grid.Column="3" VerticalScrollBarVisibility="Disabled">
<Border Height="300" Style="{StaticResource BorderStyle}" ToolTip="Disabled"/>
</ScrollViewer>
<ScrollViewer Grid.Column="4" VerticalScrollBarVisibility="Hidden">
<Border Height="800" Style="{StaticResource BorderStyle}" ToolTip="Hidden"/>
</ScrollViewer>
<ScrollViewer Grid.Column="5" VerticalScrollBarVisibility="Hidden">
<Border Height="300" Style="{StaticResource BorderStyle}" ToolTip="Hidden"/>
</ScrollViewer>
<ScrollViewer Grid.Column="6" VerticalScrollBarVisibility="Visible">
<Border Height="800" Style="{StaticResource BorderStyle}" ToolTip="Visible"/>
</ScrollViewer>
<ScrollViewer Grid.Column="7" VerticalScrollBarVisibility="Visible">
<Border Height="300" Style="{StaticResource BorderStyle}" ToolTip="Visible"/>
</ScrollViewer>
</Grid>
</Window>
效果如下:

