我有一個滑塊,我在內部更新值。而且,用戶輸入被接受,以改變內部參數。如何知道誰在WPF中引發了路由事件?
問題是:我怎麼能知道誰提出了事件,用戶或我更改slider.value的類?
在我而言,這是處理程序:
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
var slider = sender as Slider;
if (slider == null) return;
var col = this.SelectedColor;
switch ((string)slider.Tag)
{
case "Hue": this.SetHue(ValueHue.Value); break;
case "Sat": this.SetSatBri(ValueSat.Value, CurrentBri); break;
case "Bri": this.SetSatBri(CurrentSat, ValueBri.Value); break;
case "R": this.SetColor(Color.FromRgb(Convert.ToByte(ValueR.Value), col.G, col.B)); break;
case "G": this.SetColor(Color.FromRgb(col.R, Convert.ToByte(ValueG.Value), col.B)); break;
case "B": this.SetColor(Color.FromRgb(col.R, col.G, Convert.ToByte(ValueB.Value))); break;
}
}
如果事件不是由用戶輸入所提出的功能不能正常工作。那麼我怎麼能找到這個呢?
您是否嘗試過'e.OriginalSource' – mihajlv 2011-12-31 22:42:38