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.

適用於