BindableObjectExtensions.SetBinding Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Создает и применяет привязку к свойству. |
SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
Устаревшие..
Создает и применяет привязку из выражения. |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)
Создает и применяет привязку к свойству.
public static void SetBinding (this Xamarin.Forms.BindableObject self, Xamarin.Forms.BindableProperty targetProperty, string path, Xamarin.Forms.BindingMode mode = Xamarin.Forms.BindingMode.Default, Xamarin.Forms.IValueConverter converter = default, string stringFormat = default);
static member SetBinding : Xamarin.Forms.BindableObject * Xamarin.Forms.BindableProperty * string * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * string -> unit
Параметры
- self
- BindableObject
- targetProperty
- BindableProperty
Свойство BindableProperty, для которого необходимо задать привязку.
- path
- System.String
Строка System.String, содержащая путь к свойству, к которому устанавливается привязка.
- mode
- BindingMode
BindingMode для привязки. Этот параметр является необязательным. По умолчанию — Default.
- converter
- IValueConverter
IValueConverter для привязки. Этот параметр является необязательным. По умолчанию — null
.
- stringFormat
- System.String
Строка, используемая как stringFormat для привязки. Этот параметр является необязательным. По умолчанию — null
.
Комментарии
В следующем примере показано, как использовать метод расширения для установки привязки.
public class PersonViewModel
{
public string Name { get; set; }
public string Company { get; set; }
}
// ...
var vm = new PersonViewModel {
Name = "John Doe",
Company = "Xamarin"
}
var label = new Label ();
label.SetBinding (Label.TextProperty, "Name"); // "Name" is the property on the view model
label.BindingContext = vm;
Debug.WriteLine (label.Text); // prints "John Doe"
Применяется к
SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Внимание!
Теперь этот API является нерекомендуемым.
Создает и применяет привязку из выражения.
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Obsolete]
public static void SetBinding<TSource> (this Xamarin.Forms.BindableObject self, Xamarin.Forms.BindableProperty targetProperty, System.Linq.Expressions.Expression<Func<TSource,object>> sourceProperty, Xamarin.Forms.BindingMode mode = Xamarin.Forms.BindingMode.Default, Xamarin.Forms.IValueConverter converter = default, string stringFormat = default);
static member SetBinding : Xamarin.Forms.BindableObject * Xamarin.Forms.BindableProperty * System.Linq.Expressions.Expression<Func<'Source, obj>> * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * string -> unit
Параметры типа
- TSource
Тип источника данных.
Параметры
- self
- BindableObject
Объект BindableObject.
- targetProperty
- BindableProperty
Объект BindableProperty, к которому требуется выполнить привязку.
- sourceProperty
- System.Linq.Expressions.Expression<System.Func<TSource,System.Object>>
Выражение, используемое для получения исходного пути.
- mode
- BindingMode
Режим BindingMode для привязки. Этот параметр является необязательным. По умолчанию — Default.
- converter
- IValueConverter
Интерфейс IValueConverter для привязки. Этот параметр является необязательным. По умолчанию — null
.
- stringFormat
- System.String
Строка, используемая как stringFormat для привязки. Этот параметр является необязательным. По умолчанию — null
.
- Атрибуты
-
System.ComponentModel.EditorBrowsableAttribute System.ObsoleteAttribute
Комментарии
Этот метод расширения использует Выражение вместо пути для создания и установки привязок. Использование выражений более удобно для рефакторинга.
В следующем примере показана настройка привязки с помощью метода расширения.
public class PersonViewModel
{
public string Name { get; set; }
public string Company { get; set; }
}
// ...
var vm = new PersonViewModel {
Name = "John Doe",
Company = "Xamarin"
};
var label = new Label ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name); // "Name" is the property on the view model
label.BindingContext = vm;
Debug.WriteLine (label.Text); // prints "John Doe"