1
雙向綁定有以下內部對我的自定義控件不起作用:WPF,獲得兩個雙向綁定在自定義控制工作
public partial class ColorInputControl
{
public ColorInputControl()
{
InitializeComponent();
colorPicker.AddHandler(ColorPicker.SelectedColorChangedEvent,
new RoutedPropertyChangedEventHandler<Color>(SelectedColorChanged));;
colorPicker.AddHandler(ColorPicker.CancelEvent,
new RoutedPropertyChangedEventHandler<Color>(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被綁定到一個觸發INotifyPropertyChanged的事件控制時,它的屬性變化。但是,我無法獲得雙向綁定工作。來自用戶界面的更改被注入數據源。但是,源自數據源的更改不會反映在用戶界面上。
我錯過了什麼? TIA。
請顯示XAML綁定。並且請注意,除了調用SetValue之外,您不應在DP的setter中包含任何代碼(因爲WPF不使用您的setter) – Timores 2010-04-12 22:32:01