md3848
جمعه 27 فروردین 1400, 16:17 عصر
سلام، یه DependencyProperty از نوع <ObservableCollection<string ایجاد کردم، حالا وقتی به کمک متد list.Add، آیتمی میخوام بهش اضافه کنم، وقفه PropertyChanged رخ نمیده، چرا؟ و چطور حلش کنم.
این کد DependencyProperty من هستش :
public static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.Register( "SelectedItems",
typeof(ObservableCollection<string>),
typeof(MultiSelectComboBoxUC),
new FrameworkPropertyMetadata(
new ObservableCollection<string>(),
FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.BindsTwoWayByDefa ult,
new PropertyChangedCallback(SelectedItemsPropertyChang ed)));
public ObservableCollection<string> SelectedItems
{
get { return (ObservableCollection<string>)GetValue(SelectedItemsProperty); }
set { SetValue(SelectedItemsProperty, value); }
}
private static void SelectedItemsPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
Debug.WriteLine("SelectedItemsPropertyChanged");
}
وقفه کلیک روی Checkbox هم وقتی رخ میده، یه آیتمی به list بالا میخوام اضافه کنم، ولی وقفه PropertyChanged رخ نمیده :
private void CheckBox_Click(object sender, RoutedEventArgs e){
Debug.WriteLine("CheckBox_Click");
if (SelectedItems.Contains("test"))
SelectedItems.Remove("test");
}
این کد DependencyProperty من هستش :
public static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.Register( "SelectedItems",
typeof(ObservableCollection<string>),
typeof(MultiSelectComboBoxUC),
new FrameworkPropertyMetadata(
new ObservableCollection<string>(),
FrameworkPropertyMetadataOptions.AffectsRender | FrameworkPropertyMetadataOptions.BindsTwoWayByDefa ult,
new PropertyChangedCallback(SelectedItemsPropertyChang ed)));
public ObservableCollection<string> SelectedItems
{
get { return (ObservableCollection<string>)GetValue(SelectedItemsProperty); }
set { SetValue(SelectedItemsProperty, value); }
}
private static void SelectedItemsPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
Debug.WriteLine("SelectedItemsPropertyChanged");
}
وقفه کلیک روی Checkbox هم وقتی رخ میده، یه آیتمی به list بالا میخوام اضافه کنم، ولی وقفه PropertyChanged رخ نمیده :
private void CheckBox_Click(object sender, RoutedEventArgs e){
Debug.WriteLine("CheckBox_Click");
if (SelectedItems.Contains("test"))
SelectedItems.Remove("test");
}