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


Binding.Create<TSource> Метод

Определение

Внимание!

Теперь этот API является нерекомендуемым.

Это удобный фабричный метод для создания привязки на основе выражения вместо имени свойства. Этот API более устойчив к рефакторингу.

[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Obsolete]
public static Xamarin.Forms.Binding Create<TSource> (System.Linq.Expressions.Expression<Func<TSource,object>> propertyGetter, Xamarin.Forms.BindingMode mode = Xamarin.Forms.BindingMode.Default, Xamarin.Forms.IValueConverter converter = default, object converterParameter = default, string stringFormat = default);
static member Create : System.Linq.Expressions.Expression<Func<'Source, obj>> * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * obj * string -> Xamarin.Forms.Binding

Параметры типа

TSource

Тип источника привязки.

Параметры

propertyGetter
System.Linq.Expressions.Expression<System.Func<TSource,System.Object>>

Выражение, используемое для получения пути привязки.

mode
BindingMode

Режим привязки. Это свойство является необязательным. По умолчанию — Default.

converter
IValueConverter

Преобразователь. Этот параметр является необязательным. По умолчанию — null.

converterParameter
System.Object

Определяемый пользователем параметр для передачи преобразователю. Этот параметр является необязательным. По умолчанию — null.

stringFormat
System.String

Формат строки. Этот параметр является необязательным. По умолчанию — null.

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

Новая привязка.

Атрибуты
System.ComponentModel.EditorBrowsableAttribute System.ObsoleteAttribute

Комментарии

В следующем примере показано, как задать привязку для свойства :

public class PersonViewModel
{
  public string Name { get; set; }
  public string Company { get; set; }
}

var label = new Label ();
PersonViewModel person;
label.BindingContext = person = new PersonViewModel { Name = "John Doe", Company = "Microsoft" };
label.SetBinding (Label.TextProperty, Binding.Create<PersonViewModel> (vm => vm.Name));
Debug.WriteLine (label.Text); //prints "John Doe".

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