2010-07-06 108 views
2

基本上我需要在最大或最小屬性更改時做一些計算,但Slider控件中沒有允許我在發生這種情況時查看它的事件。滑塊最大最小更改

任何想法?

謝謝!

回答

1

您應該知道何時更改這些值 - 只需將通知作業移至設置最大值和最小值(直接或間接通過綁定)的類。

當使用ViewModel時,這將是一種更簡潔的方式(讓ViewModels完成這項工作) - 然後您可以使用Mediator like that one

+0

因爲我們的代碼中的一些副設計限制,我去了第一個選項。謝謝您的幫助! – Carlo 2010-07-06 20:06:38

0

Maximum是依賴項屬性,因此您可以將它綁定到視圖模型的某些屬性。

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); 
     }); 
    } 
} 
相關問題