C#绑定不起作用

Her*_*rks 5 c# data-binding wpf

我在代码后面实现了一个基本的数据绑定,这是代码:

Binding bindingSlider = new Binding();
bindingSlider.Source = mediaElement.Position;
bindingSlider.Mode = BindingMode.TwoWay;            
bindingSlider.Converter = (IValueConverter)Application.Current.Resources["DoubleTimeSpan"];            
slider.SetBinding(Slider.ValueProperty, bindingSlider);
Run Code Online (Sandbox Code Playgroud)

这是转换器的代码,

class DoubleTimeSpan : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter,
string language)
    {
        return ((TimeSpan)value).TotalSeconds;
    }

    public object ConvertBack(object value, Type targetType, object parameter,
string language)
    {           
        return TimeSpan.FromSeconds((double)value);
    }
}
Run Code Online (Sandbox Code Playgroud)

即使我没有收到编译器的错误消息,但绑定代码不起作用.为什么?

Ant*_*hyy 2

bindingSlider.Source = mediaElement.Position ; // boo!
Run Code Online (Sandbox Code Playgroud)

这是错误的。Source是包含您要绑定的属性的对象。你想要的是

bindingSlider.Source = mediaElement ;
bindingSlider.Path   = new PropertyPath ("Position") ;
Run Code Online (Sandbox Code Playgroud)