我想將一個滑塊放入一個datagrid單元格,並且該行的高度爲20,所以我想讓滑塊的拇指高度更小比起那個來說。我設置了滑塊自身的高度,但拇指似乎被切掉(即,它不縮小到我在slider.height屬性中指定的高度)。我不想重寫滑塊控件的整個控件模板來執行此操作。有一些設置屬性或類似的東西的方法。如何設置一個wpf滑塊控件的拇指的高度
編輯:即使當我創建一個自定義滑塊樣式,其中包含我想要的尺寸的自定義滑塊樣式時,它的尺寸仍然不正確。
任何想法?
我想將一個滑塊放入一個datagrid單元格,並且該行的高度爲20,所以我想讓滑塊的拇指高度更小比起那個來說。我設置了滑塊自身的高度,但拇指似乎被切掉(即,它不縮小到我在slider.height屬性中指定的高度)。我不想重寫滑塊控件的整個控件模板來執行此操作。有一些設置屬性或類似的東西的方法。如何設置一個wpf滑塊控件的拇指的高度
編輯:即使當我創建一個自定義滑塊樣式,其中包含我想要的尺寸的自定義滑塊樣式時,它的尺寸仍然不正確。
任何想法?
剛剛看到這個鏈接 Binding a slider value on the height of its thumb in WPF
可能是這可以幫助你
<Slider.LayoutTransform>
<ScaleTransform ScaleY="0.9" CenterX="15" CenterY="15"/>
</Slider.LayoutTransform>
不是很性感,但它的工作原理是當蒙山的Slider.Height/Slider.Width特性相結合的魅力!
如果規模變化不是太大(0.6-1.4或類似的東西),這將是最常見的,非常簡單的解決方案。 – phil13131 2013-08-26 12:48:16
設置拇指風格:
<Style x:Key="SliderThumbStyle" TargetType="{x:Type Thumb}">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<!--<Ellipse
Name="Ellipse"
Fill="Yellow"
Stroke="Yellow"
Height="10"
Width="{Binding Path=ThumbWidth, RelativeSource={RelativeSource TemplatedParent}}"
StrokeThickness="1" />-->
<Rectangle
Fill="Azure"
Stroke="Azure"
Height="7"
Width="{Binding Path=ThumbWidth, RelativeSource={RelativeSource TemplatedParent}}"
StrokeThickness="1"
Margin="0.1,.1,.1,.1"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
然後用這個風格滑塊自定義控件
<Style TargetType="{x:Type local:NvSliderControl}">
<Setter Property="Orientation" Value="Vertical" />
<Setter Property="Height" Value="50"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:NvSliderControl}">
<Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<Track x:Name="PART_Track" >
<Track.Thumb>
<Thumb Style="{StaticResource SliderThumbStyle}">
</Thumb>
</Track.Thumb>
</Track>
</Grid>
</Border>
<ControlTemplate.Triggers>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
這是一兩件事,我希望我沒有做。我認爲會有另一種方法來通過設置屬性來改變滑塊控件的拇指高度,而不是必須通過整個控件模板覆蓋過程。 – BrianP 2010-09-01 16:39:04