基本上我需要在最大或最小属性更改时进行一些计算,但Slider控件中没有事件允许我在发生这种情况时查看它。
有什么想法吗?
谢谢!
答案 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)
最大值是依赖项属性,因此您可以将其绑定到视图模型的某个属性。