BindableObjectExtensions.SetBinding Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Vytvoří a použije vazbu na vlastnost. |
SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
Zastaralé.
Vytvoří a použije vazbu z výrazu. |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)
Vytvoří a použije vazbu na vlastnost.
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 = default, string stringFormat = default);
static member SetBinding : Xamarin.Forms.BindableObject * Xamarin.Forms.BindableProperty * string * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * string -> unit
Parametry
- self
- BindableObject
Hodnota BindableObject
- targetProperty
- BindableProperty
BindableProperty, na kterém chcete nastavit vazbu.
- path
- System.String
A System.String označující cestu k vlastnosti, se kterou se má vytvořit vazba.
- mode
- BindingMode
Pro BindingMode vazbu. Tento parametr je volitelný. Výchozí je Default.
- converter
- IValueConverter
Pro IValueConverter vazbu. Tento parametr je volitelný. Výchozí je null
.
- stringFormat
- System.String
Řetězec použitý jako stringFormat pro vazbu. Tento parametr je volitelný. Výchozí je null
.
Poznámky
Následující příklad ukazuje, jak použít metodu rozšíření k nastavení vazby.
public class PersonViewModel
{
public string Name { get; set; }
public string Company { get; set; }
}
// ...
var vm = new PersonViewModel {
Name = "John Doe",
Company = "Xamarin"
}
var label = new Label ();
label.SetBinding (Label.TextProperty, "Name"); // "Name" is the property on the view model
label.BindingContext = vm;
Debug.WriteLine (label.Text); // prints "John Doe"
Platí pro
SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Upozornění
Toto rozhraní API je teď zastaralé.
Vytvoří a použije vazbu z výrazu.
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[System.Obsolete]
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 = default, string stringFormat = default);
static member SetBinding : Xamarin.Forms.BindableObject * Xamarin.Forms.BindableProperty * System.Linq.Expressions.Expression<Func<'Source, obj>> * Xamarin.Forms.BindingMode * Xamarin.Forms.IValueConverter * string -> unit
Parametry typu
- TSource
Typ zdroje.
Parametry
- self
- BindableObject
The BindableObject.
- targetProperty
- BindableProperty
Vlastnost BindableProperty pro vazbu na
- sourceProperty
- System.Linq.Expressions.Expression<System.Func<TSource,System.Object>>
Výraz použitý k načtení zdrojové cesty.
- mode
- BindingMode
BindingMode pro vazbu. Tento parametr je volitelný. Výchozí je Default.
- converter
- IValueConverter
IValueConverter pro vazbu. Tento parametr je volitelný. Výchozí je null
.
- stringFormat
- System.String
Řetězec použitý jako stringFormat pro vazbu. Tento parametr je volitelný. Výchozí je null
.
- Atributy
-
System.ComponentModel.EditorBrowsableAttribute System.ObsoleteAttribute
Poznámky
Tato rozšiřující metoda používá Expression místo cesty k vytvoření a nastavení vazeb. Použití výrazů je vhodnější pro refaktoring.
Následující příklad ukazuje nastavení vazby pomocí rozšiřující metody.
public class PersonViewModel
{
public string Name { get; set; }
public string Company { get; set; }
}
// ...
var vm = new PersonViewModel {
Name = "John Doe",
Company = "Xamarin"
};
var label = new Label ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name); // "Name" is the property on the view model
label.BindingContext = vm;
Debug.WriteLine (label.Text); // prints "John Doe"