Wpf滑块中心刻度值

Wpf滑块中心刻度值,wpf,slider,Wpf,Slider,我有一个滑块,最小值为-127,最大值为127。在启动时,滑块位于中间,因此值为0。 是否可以在勾号处显示文本0,以便您可以清楚地看到中心位置 <Slider Margin="3" Minimum="-127" Maximum="127" TickPlacement="BottomRight" TickFrequency="2" IsSnapToTickEnabled="

我有一个滑块,最小值为-127,最大值为127。在启动时,滑块位于中间,因此值为0。 是否可以在勾号处显示文本0,以便您可以清楚地看到中心位置

<Slider Margin="3"
            Minimum="-127"
            Maximum="127"
            TickPlacement="BottomRight"
            TickFrequency="2"
            IsSnapToTickEnabled="True"
            SmallChange="1" />

这是我的滑块的图片


我认为单靠滑块是没有办法的,我会尝试:

<StackPanel HorizontalAlignment="Center">
    <Slider Grid.Row="2" Margin="3" Width="150"
        Minimum="-127"
        Maximum="127"
        TickPlacement="BottomRight"
        TickFrequency="2"
        IsSnapToTickEnabled="True"
        SmallChange="1" />
    <TextBlock Text="0" HorizontalAlignment="Center" Margin="0,-5,0,0"/>
</StackPanel>


编辑:我刚刚意识到你对这个并不陌生,所以你一定想到了这个琐碎的解决方案…

这就是我得到我想要的东西的原因。我在滑块下使用DockPanel来布局文本块。 一个用于中心0,一个在右侧用于设置最大值,另一个在左侧用于设置最小值

我找不到任何其他能满足我要求的解决方案。如果有,请在此处发布:)

XAML:


图片:

<StackPanel Orientation="Vertical">
    <Slider x:Name="SpeedSlider"
                    Margin="3"
                    Foreground="DarkGray"
                    Value="{Binding SliderValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                    Maximum="{Binding Steps,
                                                    Mode=TwoWay,
                                                    UpdateSourceTrigger=PropertyChanged}"
                    Minimum="{Binding MinSteps,
                                                    Mode=TwoWay,
                                                    UpdateSourceTrigger=PropertyChanged}"
                    SmallChange="2"
                    TickFrequency="4"
                    TickPlacement="BottomRight"
                    ToolTip="{Binding ElementName=SpeedSlider,Path=Value}">
    </Slider>
    <DockPanel>
        <TextBox DockPanel.Dock="Left"
                         Text="{Binding MinSteps,
                                                    Mode=TwoWay,
                                                    UpdateSourceTrigger=PropertyChanged}"
                         Width="100"
                         Background="Transparent"
                         IsReadOnly="True"
                         BorderThickness="0" />
        <TextBox DockPanel.Dock="Right"
                         Text="{Binding Steps,
                                                    Mode=TwoWay,
                                                    UpdateSourceTrigger=PropertyChanged}"
                         Width="100"
                         HorizontalContentAlignment="Right"
                         Background="Transparent"
                         IsReadOnly="True"
                         BorderThickness="0" />
        <TextBlock DockPanel.Dock="Right"
                             Text="0"
                             HorizontalAlignment="Center" />
    </DockPanel>
</StackPanel>