タッチスクリーンコンピューターで実行されるWPFアプリケーションがあります。アプリのすべてのスクロールバーをもっと広くしたいと思います。それをグローバルに行う方法はありますか?
質問する
995 次
2 に答える
3
override the default template of scrollViewer
垂直スクロールバーの幅を大きくする必要があります。すべてのスクロールバーにテンプレートを適用するには、アプリリソースにオーバーライドスタイルを配置します-
<Style TargetType="{x:Type ScrollViewer}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="VerticalContentAlignment" Value="Top" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ScrollContentPresenter Grid.Column="1"/>
<ScrollBar Name="PART_VerticalScrollBar"
Value="{TemplateBinding VerticalOffset}"
Width="40"
Maximum="{TemplateBinding ScrollableHeight}"
ViewportSize="{TemplateBinding ViewportHeight}"
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"/>
<ScrollBar Name="PART_HorizontalScrollBar"
Orientation="Horizontal"
Grid.Row="1"
Grid.Column="1"
Value="{TemplateBinding HorizontalOffset}"
Maximum="{TemplateBinding ScrollableWidth}"
ViewportSize="{TemplateBinding ViewportWidth}"
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
の幅を'PART_VerticalScrollBar'
希望の幅(上記の例のように40など)に設定できます。このスタイルをApplication Resources
(App.xaml)の下に配置すると、アプリケーション全体に適用されます。
于 2012-08-15T13:59:27.927 に答える
1
Style
を示すリソースの内部を作成する必要がありますTargetType
。
このスタイルは、xamlファイル内のすべてのScrollBarに適用されます。
<Window.Resources>
<Style TargetType="{x:Type ScrollBar}">
....
</Style>
于 2012-08-15T14:02:00.610 に答える