代码之家  ›  专栏  ›  技术社区  ›  Carlo

滑块最大最小值已更改

  •  2
  • Carlo  · 技术社区  · 14 年前

    基本上,当最大或最小属性改变时,我需要做一些计算,但是在滑块控件中没有允许我在发生这种情况时查看它的事件。

    谢谢!

    3 回复  |  直到 14 年前
        1
  •  1
  •   Matthias    14 年前

    您应该知道何时更改这些值—只需将通知作业移动到设置最大值和最小值的类(直接或间接通过绑定)。

    当使用ViewModel时,这将是一种更干净的方法(让ViewModels完成这项工作)-然后可以使用 Mediator like that one .

        2
  •  3
  •   Wallstreet Programmer    14 年前

    您可以注册以在DP更改时获取事件。

    <Slider Loaded="OnSliderLoaded"/>
    
    private void OnSliderLoaded(object sender, RoutedEventArgs e)
    {
        Slider slider = sender as Slider;
        DependencyPropertyDescriptor dpd = DependencyPropertyDescriptor.FromProperty(Slider.MinimumProperty, typeof(Slider));
        if (dpd != null)
        {
            dpd.AddValueChanged(slider, delegate
            {
                Debug.WriteLine("Minimimum changed:" + _slider.Minimum);
            });
        }
    }
    
        3
  •  0
  •   STO    14 年前

    最大值是依赖属性,所以可以将它绑定到视图模型的某些属性。