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
.
Целевое свойство привязки, из которого извлекается объект 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.