Binding コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Binding() |
Binding クラスの新しいインスタンスを構築して初期化します。 |
Binding(String, BindingMode, IValueConverter, Object, String, Object) |
Binding クラスの新しいインスタンスを構築して初期化します。 |
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.