BindableObjectExtensions.SetBinding メソッド

定義

オーバーロード

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

プロパティにバインドを作成し、適用します。Creates and applies a binding to a property.

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)

式からバインドを作成し適用します。Creates and applies a binding from an expression.

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

プロパティにバインドを作成し、適用します。Creates and applies a binding to a property.

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 = null, string stringFormat = null);
static member SetBinding : Xamarin.Forms.BindableObject * Xamarin.Forms.BindableProperty * string * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * string -> unit

パラメーター

targetProperty
BindableProperty

バインディングを設定する BindableProperty。The BindableProperty on which to set a binding.

path
String

バインド先のプロパティ パスを示す StringA String indicating the property path to bind to.

mode
BindingMode

バインディングの BindingModeThe BindingMode for the binding. このパラメーターは省略できます。This parameter is optional. 既定値は Default です。Default is Default.

converter
IValueConverter

バインド用の IValueConverterAn IValueConverter for the binding. このパラメーターは省略できます。This parameter is optional. 既定値は null です。Default is null.

stringFormat
String

バインド用の stringFormat として使用される文字列。A string used as stringFormat for the binding. このパラメーターは省略できます。This parameter is optional. 既定値は null です。Default is null.

注釈

次の例は、拡張メソッドを使用してバインディングを設定する方法を示しています。The following example shows how to use the extension method to set a binding.


var label = new Label ();
label.SetBinding (Label.TextProperty, "Name");
label.BindingContext = new {Name = "John Doe", Company = "Xamarin"};
Debug.WriteLine (label.Text); //prints "John Doe"

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)

警告

この API は現在使われていません。

式からバインドを作成し適用します。Creates and applies a binding from an expression.

[System.Obsolete]
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
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 = null, string stringFormat = null);
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

ソースの種類。The source type.

パラメーター

self
BindableObject

BindableObject。The BindableObject.

targetProperty
BindableProperty

バインドする BindablePropertyThe BindableProperty to bind to

sourceProperty
Expression<Func<TSource,Object>>

ソース パスを取得するために使用する式。An expression used to retrieve the source path.

mode
BindingMode

バインド用の BindingMode。The BindingMode for the binding. このパラメーターは省略できます。This parameter is optional. 既定値は Default です。Default is Default.

converter
IValueConverter

バインド用の IValueConverter。An IValueConverter for the binding. このパラメーターは省略できます。This parameter is optional. 既定値は null です。Default is null.

stringFormat
String

バインド用の stringFormat として使用される文字列。A string used as stringFormat for the binding. このパラメーターは省略できます。This parameter is optional. 既定値は null です。Default is null.

属性

注釈

この拡張メソッドでは、パスの代わりに Expression を使用して、バインドを作成および設定します。This extension method uses Expression instead of path to creates and sets bindings. 式を使用すると、リファクタリングが容易になります。Using Expressions is more refactoring friendly.

次の例は、拡張メソッドを使用したバインディングの設定を示しています。This following example illustrates the setting of a binding using the extension method.


public class PersonViewModel
{
  public string Name { get; set; }
  public string Company { get; set; }
}
    
var label = new Label ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name);
label.BindingContext = new PersonViewModel {
  Name = "John Doe", 
  Company = "Xamarin"
};
Debug.WriteLine (label.Text); //prints "John Doe"

適用対象