Udostępnij za pośrednictwem


BindingOperations.GetBindingExpression Metoda

Definicja

Zwraca obiekt BindingExpression skojarzony z określoną właściwością docelową powiązania dla określonego obiektu.

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

Parametry

target
DependencyObject

Obiekt docelowy powiązania, w którym znajduje się dp.

dp
DependencyProperty

Właściwość docelowa powiązania, z której ma być pobierany obiekt BindingExpression.

Zwraca

Obiekt BindingExpression skojarzony z daną właściwością lub null, jeśli nie istnieje. Jeśli dla właściwości ustawiono obiekt PriorityBindingExpression, zostanie zwrócony ActiveBindingExpression.

Wyjątki

Nie można nullparametrów target i dp .

Przykłady

Poniższy przykład przedstawia implementację programu obsługi zdarzeń Click, która używa metody GetBindingExpression do uzyskania BindingExpression, a następnie wywołuje właściwość DataItem w celu uzyskania dostępu do obiektu źródłowego powiązania.

TextBlock SavingsText jest obiektem docelowym powiązania, a Text jest właściwością docelową powiązania.

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

Uwagi

Obiekt BindingExpression utrzymuje połączenie między źródłem powiązania a obiektem docelowym powiązania. Obiekt BindingExpression można uzyskać, wywołując tę metodę statyczną lub wywołując metodę GetBindingExpression na FrameworkElement powiązanym z danymi lub FrameworkContentElement obiekcie.

Dotyczy

Zobacz też