Je voudrais faire en sorte que, par défaut, lorsque je me lie à l'une de mes propriétés de dépendance, le mode de liaison est bidirectionnel et le déclencheur de mise à jour est modifié. Y a-t-il un moyen de faire cela?
Voici un exemple de l'une de mes propriétés de dépendance:
public static readonly DependencyProperty BindableSelectionLengthProperty =
DependencyProperty.Register(
"BindableSelectionLength",
typeof(int),
typeof(ModdedTextBox),
new PropertyMetadata(OnBindableSelectionLengthChanged));
Lors de l'enregistrement de la propriété, initialisez vos métadonnées avec:
new FrameworkPropertyMetadata
{
BindsTwoWayByDefault = true,
DefaultUpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
}
Dans la déclaration de propriété de dépendance, cela ressemblerait à ceci:
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); }
}