滑块最大最小变化

时间:2010-07-06 19:26:35

标签: wpf wpf-controls

基本上我需要在最大或最小属性更改时进行一些计算,但Slider控件中没有事件允许我在发生这种情况时查看它。

有什么想法吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

您可以注册以在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);
        });
    }
}

答案 1 :(得分:1)

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

使用ViewModel时,这将是一种更清晰的方式(让ViewModel完成此工作) - 然后您可以使用Mediator like that one

答案 2 :(得分:0)

最大值是依赖项属性,因此您可以将其绑定到视图模型的某个属性。