WPF, getting two way binding to work on custom control
        Posted  
        
            by e28Makaveli
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by e28Makaveli
        
        
        
        Published on 2010-04-12T22:07:36Z
        Indexed on 
            2010/04/12
            22:13 UTC
        
        
        Read the original article
        Hit count: 435
        
Two way binding does not work on my custom control with the following internals:
public partial class ColorInputControl 
    {
        public ColorInputControl()
        {
            InitializeComponent();
            colorPicker.AddHandler(ColorPicker.SelectedColorChangedEvent, 
               new RoutedPropertyChangedEventHandler( SelectedColorChanged));;
            colorPicker.AddHandler(ColorPicker.CancelEvent,
               new RoutedPropertyChangedEventHandler(OnCancel));
        }      
    public static readonly DependencyProperty SelectedColorProperty =
        DependencyProperty.Register
        ("SelectedColor", typeof(Color), typeof(ColorInputControl),
        new PropertyMetadata(Colors.Transparent, null));
    public Color SelectedColor
    {
        get
        {
            return (Color)GetValue(SelectedColorProperty);
            //return colorPicker.SelectedColor;
        }
        set
        {
            SetValue(SelectedColorProperty, value);
            colorPicker.SelectedColor = value;           
        }
    }
    private void SelectedColorChanged(object sender, RoutedPropertyChangedEventArgs<Color> e)
    {
        SetValue(SelectedColorProperty, colorPicker.SelectedColor);                
    }       
}
SelectedColor is being bound to a property that fires INotifyPropertyChanged event control when it changes. However, I cannot get two way binding to work. Changes from the UI are pesisted to the data source. However, changes originating from the data source are not reflected on the UI.
What did I miss? TIA.
© Stack Overflow or respective owner