Есть ли способ указать режим привязки по умолчанию для пользовательского свойства зависимостей и триггер обновления?
Я хотел бы сделать так, чтобы по умолчанию при привязке к одному из моих свойств зависимостей режим привязки был двусторонним, а update-trigger-измененным свойством. Есть ли способ сделать это?
вот пример одного из моих свойств зависимостей:
public static readonly DependencyProperty BindableSelectionLengthProperty =
DependencyProperty.Register(
"BindableSelectionLength",
typeof(int),
typeof(ModdedTextBox),
new PropertyMetadata(OnBindableSelectionLengthChanged));
2 ответа:
при регистрации свойства инициализируйте метаданные с помощью:
new FrameworkPropertyMetadata { BindsTwoWayByDefault = true, DefaultUpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }
в объявлении свойства зависимостей это будет выглядеть так:
public static readonly DependencyProperty IsExpandedProperty = DependencyProperty.Register("IsExpanded", typeof(bool), typeof(Dock), new FrameworkPropertyMetadata(true, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnIsExpandedChanged)); public bool IsExpanded { get { return (bool)GetValue(IsExpandedProperty); } set { SetValue(IsExpandedProperty, value); } }