Подтвердить что ты не робот

Есть ли способ указать настраиваемый режим привязки свойств зависимостей и триггер обновления?

Я хотел бы сделать так, чтобы по умолчанию, когда я привязываюсь к одному из моих свойств зависимостей, режим привязки является двусторонним, а update-trigger - измененным свойством. Есть ли способ сделать это?

Вот пример одного из моих свойств зависимостей:

public static readonly DependencyProperty BindableSelectionLengthProperty =
        DependencyProperty.Register(
        "BindableSelectionLength",
        typeof(int),
        typeof(ModdedTextBox),
        new PropertyMetadata(OnBindableSelectionLengthChanged));
4b9b3361

Ответ 1

При регистрации свойства инициализируйте свои метаданные с помощью:

new FrameworkPropertyMetadata
{
    BindsTwoWayByDefault = true,
    DefaultUpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
}

Ответ 2

В объявлении Property Dependency оно будет выглядеть так:

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); }
}