Udostępnij za pośrednictwem


Jak ustalić kierunek powiązania

W tym przykładzie pokazano, jak określić, czy powiązanie aktualizuje tylko właściwość docelową powiązania (docelową), właściwość źródła powiązania (źródło) lub właściwość docelową i właściwość źródłową.

Przykład

Właściwość Binding.Mode służy do określania kierunku powiązania. Dostępne opcje aktualizacji powiązań przedstawiono poniżej:

  • BindingMode.TwoWay aktualizuje właściwość docelową lub właściwość zawsze, gdy zmienia się właściwość docelowa lub właściwość źródłowa.

  • BindingMode.OneWay aktualizuje właściwość docelową tylko wtedy, gdy właściwość źródłowa ulegnie zmianie.

  • BindingMode.OneTime aktualizuje właściwość docelową tylko wtedy, gdy aplikacja zostanie uruchomiona lub gdy DataContext zostanie zmieniona.

  • BindingMode.OneWayToSource aktualizuje właściwość źródłową, gdy właściwość docelowa ulegnie zmianie.

  • BindingMode.Default powoduje, że domyślna wartość Mode właściwości docelowej ma być używana.

Aby uzyskać więcej informacji, zobacz wyliczenie BindingMode.

W poniższym przykładzie pokazano, jak ustawić właściwość Mode.

<TextBlock Name="IncomeText" Grid.Row="0" Grid.Column="1"
  Text="{Binding Path=TotalIncome, Mode=OneTime}"/>

Aby wykryć zmiany źródła (dotyczy powiązań OneWay i TwoWay), źródło musi zaimplementować odpowiedni mechanizm powiadamiania o zmianie właściwości, taki jak INotifyPropertyChanged. Zobacz Implementowanie powiadomienia o zmianie właściwości, aby zapoznać się z przykładem implementacji INotifyPropertyChanged.

W przypadku powiązań TwoWay lub OneWayToSource można kontrolować czas aktualizacji źródłowych, ustawiając właściwość UpdateSourceTrigger. Aby uzyskać więcej informacji, zobacz UpdateSourceTrigger.

Zobacz też