私は上書きしたい親指のコントロールテンプレートをオーバーライドしてきた私はスライダーでいくつかの奇妙な(しかし、論理的な)行動に気付いています。これは完全なXAMLではありませんが、重要な部分です。赤い矩形はグリップで、中央に白い水平線があります。背後にあるコードではスライダーは値に影響しますか?
<Slider VerticalAlignment="Center"
Orientation="Vertical"
IsMoveToPointEnabled="True"/>
<ControlTemplate TargetType="{x:Type Thumb}">
<Grid Margin="0,1,0,1" SnapsToDevicePixels="True">
<Border Name="PART_Border"
Background="White"
Height="1"/>
<Rectangle x:Name="PART_Grip" Fill="Red" Height="50" Width="15" ClipToBounds="True"/>
</Grid>
</ControlTemplate>
私はスライダーのスタイルで親指にテンプレートをフック場合、それは私が欲しいものである。このような素晴らしい小さなスライダーを与えます。私はそれを周りにスライド始めると
しかし、私はあなたがRectangle
を持っているときの機能が若干異なっていることに気づきます。あなたのドラッグアップとして、Thumb
は、トラックの終わりに達した(粗雑ここでは緑色で示された)が、Thumb
は白い線が正しくトラックの目盛りの値と整合しないことを意味し、長方形の上部に停止します。
あなたはGrid
からRectangle PART_Grip
を削除し、このようにすべての方法を、それを上にスライドした場合には、白いラインがそうのように、最後の目盛りに合わせます。
<ControlTemplate TargetType="{x:Type Thumb}">
<Grid Margin="0,1,0,1" SnapsToDevicePixels="True">
<Border Name="PART_Border"
Background="White"
Height="1"/>
</Grid>
</ControlTemplate>
1は、矩形がトラックの終わりが、WHIを超えて行くことが可能になりますように
Grid
で
Rectangle
を配置する方法を
テラインはダニと整列され、それでもセンタリングされますか?私が働いており、代わりにAdorner
としてRectangle
を試してみましたが、あなたが親指を上にドラッグすることができませんでしたので、適切にDragDelta
Thumb
上をトリガすることができていないようでした。おそらくAdorner
ルートを行くことなくダニの機能を無効にしてRectangle
高さによって相殺する方法はありますか?
私が見てみたいもの: