1

2 つの質問:

  1. WPFのスクロールバーでドラッグサムを無効にする方法は?
  2. ドラッグサムの位置を制限する方法はありますか? LargeChange または SmallChange のような?
4

2 に答える 2

1
  1. ScrollBar コントロールのテンプレートを編集し、Thumb の IsEnabled プロパティを false に設定します。

  2. コードまたは XAML から直接実行できるかどうかはわかりませんが、ScrollBar クラスを継承するコントロールに 2 つの新しい DP を追加し、テンプレートを変更してこの新しい機能を持たせることができます。

于 2009-11-30T09:01:22.363 に答える
0

多分それは誰かに役立つでしょう 2つの方法でドラッグサムを無効にしたい場合:

  1. スクロールバーのコントロールを書き換えます
  2. コントロール テンプレートでは、thumb を書き換えないでください。長方形を使用するか、空のままにしてください。

例:

 <Style TargetType="{x:Type ScrollBar}">
                <Setter Property="Background" Value="{StaticResource BackgroundColor}"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type ScrollBar}">
                            <Grid x:Name="Bg" SnapsToDevicePixels="true">
                                <Grid.RowDefinitions>
                                    <RowDefinition MaxHeight="{DynamicResource {x:Static SystemParameters.VerticalScrollBarButtonHeightKey}}"/>
                                    <RowDefinition Height="0.00001*"/>
                                    <RowDefinition MaxHeight="{DynamicResource {x:Static SystemParameters.VerticalScrollBarButtonHeightKey}}"/>
                                </Grid.RowDefinitions>
                                <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Row="1" />
                                <RepeatButton Grid.Row="0" Command="ScrollBar.PageUpCommand" Style="{StaticResource ScrollBarButton}" Content="M 0 4 L 8 4 L 4 0 Z"/>
                                <Rectangle Grid.Row="1" VerticalAlignment="Top" x:Name="ThumbReplacer" Fill="{DynamicResource ScrollColor}"/>
                                <RepeatButton Grid.Row="2" Command="ScrollBar.PageDownCommand" Style="{StaticResource ScrollBarButton}" Content="M 0 0 L 4 4 L 8 0 Z"/>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
于 2021-10-14T09:56:59.810 に答える