C# 如何使滑块与值匹配

C# 如何使滑块与值匹配,c#,wpf,sliders,C#,Wpf,Sliders,我目前正在WPF中使用滑块。我的GUI窗口有两个滑块,它们应该以几种方式一起工作滑块1必须始终小于或等于滑块2,滑块2必须始终大于或等于滑块1。我第一次尝试使用C#代码隐藏来解决这个问题,我的。这个问题使我的代码得以编译,但在运行时并没有影响程序中的任何视觉变化。让这些滑块以我需要的方式运行的理想方法是什么 谢谢。假设您的ViewModel有两个属性Slider1和Slider2,您的XAML如下所示: <Slider Value="{Binding Path=Slider1}"/>

我目前正在WPF中使用滑块。我的GUI窗口有两个滑块,它们应该以几种方式一起工作<代码>滑块1必须始终小于或等于
滑块2
滑块2
必须始终大于或等于
滑块1
。我第一次尝试使用C#代码隐藏来解决这个问题,我的。这个问题使我的代码得以编译,但在运行时并没有影响程序中的任何视觉变化。让这些滑块以我需要的方式运行的理想方法是什么


谢谢。

假设您的ViewModel有两个属性
Slider1
Slider2
,您的XAML如下所示:

<Slider Value="{Binding Path=Slider1}"/>
<Slider Value="{Binding Path=Slider2}"/>

假设您的ViewModel有两个属性
Slider1
Slider2
,您的XAML如下所示:

<Slider Value="{Binding Path=Slider1}"/>
<Slider Value="{Binding Path=Slider2}"/>

为了方便起见,你也可以这样做

 private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
        if (slider1 == null || slider2 == null)
            return;
        if (slider1.Value >= slider2.Value)
        {
            slider2.Value = slider1.Value;
        }



    }

    private void slider2_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
        if (slider1 == null || slider2 == null)
            return;
        if (slider2.Value <= slider1.Value)
        {
            slider1.Value = slider2.Value;
        }


    }
private void slider1\u值已更改(对象发送方,RoutedPropertyChangedEventArgs e)
{
如果(滑块1==null | |滑块2==null)
返回;
如果(slider1.Value>=slider2.Value)
{
slider2.Value=slider1.Value;
}
}
私有无效滑块2_值已更改(对象发送方,RoutedPropertyChangedEventArgs e)
{
如果(滑块1==null | |滑块2==null)
返回;

如果(slider2.Value为方便起见,您也可以这样做

 private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
        if (slider1 == null || slider2 == null)
            return;
        if (slider1.Value >= slider2.Value)
        {
            slider2.Value = slider1.Value;
        }



    }

    private void slider2_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
        if (slider1 == null || slider2 == null)
            return;
        if (slider2.Value <= slider1.Value)
        {
            slider1.Value = slider2.Value;
        }


    }
private void slider1\u值已更改(对象发送方,RoutedPropertyChangedEventArgs e)
{
如果(滑块1==null | |滑块2==null)
返回;
如果(slider1.Value>=slider2.Value)
{
slider2.Value=slider1.Value;
}
}
私有无效滑块2_值已更改(对象发送方,RoutedPropertyChangedEventArgs e)
{
如果(滑块1==null | |滑块2==null)
返回;

if(slider2.Value)谢谢你的帮助!谢谢你的帮助!