Поделиться через


BindingOperations.GetBindingExpression Метод

Определение

Возвращает объект BindingExpression, связанный с указанным целевым свойством привязки для указанного объекта.

public:
 static System::Windows::Data::BindingExpression ^ GetBindingExpression(System::Windows::DependencyObject ^ target, System::Windows::DependencyProperty ^ dp);
public static System.Windows.Data.BindingExpression GetBindingExpression (System.Windows.DependencyObject target, System.Windows.DependencyProperty dp);
static member GetBindingExpression : System.Windows.DependencyObject * System.Windows.DependencyProperty -> System.Windows.Data.BindingExpression
Public Shared Function GetBindingExpression (target As DependencyObject, dp As DependencyProperty) As BindingExpression

Параметры

target
DependencyObject

Целевой объект привязки, в котором dp.

dp
DependencyProperty

Целевое свойство привязки, из которого извлекается объект BindingExpression.

Возвращаемое значение

Объект BindingExpression, связанный с заданным свойством или null, если нет. Если для свойства задан объект PriorityBindingExpression, возвращается ActiveBindingExpression.

Исключения

Параметры target и dp нельзя null.

Примеры

В следующем примере показана реализация обработчика событий Click, использующего метод GetBindingExpression для получения BindingExpression, а затем вызывает свойство DataItem для доступа к исходному объекту привязки.

TextBlock SavingsText является целевым объектом привязки и Text является целевым свойством привязки.

private void OnRentRaise(Object sender, RoutedEventArgs args)
{
  // Update bills
  System.Random random = new System.Random();
  double i = random.Next(10);
  BindingExpression bindingExpression =
    BindingOperations.GetBindingExpression(SavingsText, TextBlock.TextProperty);
  SDKSample.NetIncome sourceData = (SDKSample.NetIncome) bindingExpression.DataItem;
  sourceData.Rent = (int)((1 + i / 100) * (double)sourceData.Rent);
}
Private Sub OnRentRaise(ByVal sender As Object, ByVal args As RoutedEventArgs)
    Dim _random As New System.Random()
    Dim num1 As Double = _random.Next(10)
    Dim expression1 As BindingExpression = BindingOperations.GetBindingExpression(Me.SavingsText, TextBlock.TextProperty)
    Dim income1 As NetIncome = DirectCast(expression1.DataItem, NetIncome)
    income1.Rent = CInt(((1 + (num1 / 100)) * income1.Rent))
End Sub

Комментарии

Объект BindingExpression поддерживает соединение между источником привязки и целевым объектом привязки. Объект BindingExpression можно получить, вызвав этот статический метод или вызвав метод GetBindingExpression для объекта, FrameworkElement привязанного к данным, или FrameworkContentElement.

Применяется к

См. также раздел