次の方法で共有


Binding コンストラクター

定義

オーバーロード

Binding()

Binding クラスの新しいインスタンスを構築して初期化します。

Binding(String, BindingMode, IValueConverter, Object, String, Object)

Binding クラスの新しいインスタンスを構築して初期化します。

Binding()

Binding クラスの新しいインスタンスを構築して初期化します。

public Binding ();

適用対象

Binding(String, BindingMode, IValueConverter, Object, String, Object)

Binding クラスの新しいインスタンスを構築して初期化します。

public Binding (string path, Xamarin.Forms.BindingMode mode = Xamarin.Forms.BindingMode.Default, Xamarin.Forms.IValueConverter converter = default, object converterParameter = default, string stringFormat = default, object source = default);
new Xamarin.Forms.Binding : string * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * obj * string * obj -> Xamarin.Forms.Binding

パラメーター

path
System.String

プロパティ パス。

mode
BindingMode

バインド モード。 このプロパティはオプションです。 既定値は Default です。

converter
IValueConverter

コンバーター。 このパラメーターは省略できます。 既定値は null です。

converterParameter
System.Object

コンバーターに渡すユーザー定義のパラメーター。 このパラメーターは省略できます。 既定値は null です。

stringFormat
System.String

文字列形式。 このパラメーターは省略できます。 既定値は null です。

source
System.Object

このバインドでソースとして使用されるオブジェクト。 このパラメーターは省略できます。 既定値は null です。

注釈

次の例では、BindingMode と Converter を使用してプロパティにバインドを設定する方法を示します。

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

public class ReverseConverter : IValueConverter
{
  public object Convert (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  {
    var s = value as string;
    if (s == null)
      return value;
    return new string (s.Reverse ().ToArray ());
  }

  public object ConvertBack (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  {
    var s = value as string;
    if (s == null)
      return value;
    return new string (s.Reverse ().ToArray ());
  }
}

var label = new Label ();
PersonViewModel person;
label.BindingContext = person = new PersonViewModel { Name = "John Doe", Company= "Xamarin" };
label.SetBinding (Label.TextProperty, new Binding ("Name", mode: BindingMode.TwoWay, converter: new ReverseConverter ()));
Debug.WriteLine (label.Text); //prints "eoD nhoJ". ReverseConverter.Convert () is invoked in this case.

label.Text = "ooF";
Debug.WriteLine (person.Name); //prints "Foo". ReverseConverter.ConvertBack () is invoked in this case. The label Text change is propagated back as the BindingMode is TwoWay.

適用対象