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.