次の方法で共有


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することはできません。

次の例は、GetBindingExpression メソッドを使用して BindingExpression を取得し、DataItem プロパティを呼び出してバインディング ソース オブジェクトにアクセスする Click イベント ハンドラーの実装を示しています。

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 オブジェクトは、バインディング ソースとバインド ターゲットの間の接続を維持します。 この静的メソッドを呼び出すか、データ バインドされた FrameworkElement または FrameworkContentElement オブジェクトで GetBindingExpression メソッドを呼び出すことによって、BindingExpression オブジェクトを取得できます。

適用対象

こちらもご覧ください