У меня есть два свойства зависимостей (оба списка строк) в пользовательском элементе управления. Связывание для одного из этих свойств зависимостей может быть изменено несколько раз на весь срок службы приложения , Мне нужно сделать некоторые действия в пользовательском элементе управления, когда привязка будет изменена, и мне нужно получить доступ ко всем свойствам зависимостей в классе для выполнения действия.Сценарий с зависимыми свойствами - как получить доступ друг к другу
Например,
public class UC:UserControl
{
public List<string> AvailableItems
{
get { return (List<string>)this.GetValue(AvailableItemsProperty); }
set { this.SetValue(AvailableItemsProperty, value); }
}
public static readonly DependencyProperty AvailableItemsProperty = DependencyProperty.Register(
"AvailableItems", typeof(List<string>), typeof(ItemSelectionUserControl), new FrameworkPropertyMetadata(OnAvailableItemsChanged) { BindsTwoWayByDefault = true });
public List<string> SelectedItems
{
get { return (List<string>)this.GetValue(SelectedItemsProperty); }
set { this.SetValue(SelectedItemsProperty, value); }
}
public static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.Register(
"SelectedItems", typeof(List<string>), typeof(ItemSelectionUserControl), new FrameworkPropertyMetadata { BindsTwoWayByDefault = true });
public static void OnAvailableItemsChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
//How to access SelectedItems here??
}
}
Проблема является обратным вызовом, когда зависимость свойства изменилось должна быть статичными, так как я могу получить доступ к нонам обертки свойства статической зависимости в функции ?? Или есть ли другой способ сделать это?
Спасибо Amit. – Jimmy