Ich habe in den letzten Tagen ValueConverters dokumentiert - siehe https://github.com/slodge/MvvmCross/wiki/Value-Converters
Ich habe gerade diesen Beispiel-Custom-Visibility-ValueConverter zum Artikel hinzugefügt:
Wenn Sie Ihre eigenen Sichtbarkeits-ValueConverter erstellen müssen, können Ihnen die Basisklassen MvxBaseVisibilityValueConverter
und MvxBaseVisibilityValueConverter
dabei helfen - z.B.:
public class SayPleaseVisibilityValueConverter : MvxBaseVisibilityValueConverter
{
protected override MvxVisibility Convert(string value, object parameter, CultureInfo culture)
{
return (value == "Please) ? MvxVisibility.Visible : MvxVisibility.Collapsed;
}
}
Bei diesem Ansatz konvertiert die Plugin-Basisklasse den MvxVisibility
zur Laufzeit in einen geeigneten nativen Wert - sodass Sie nur eine solche Klasse zu Ihrem Kern-PCL-Projekt hinzufügen müssen - Sie müssen keine nativen Versionen der Klasse hinzufügen - stattdessen kümmert sich die Basisklasse des Plugins um die Konvertierung von MvxVisibility -> nativer Sichtbarkeit
.
Abgesehen davon> zusätzlich zur Unterstützung des Visibility
Enums aus dem Plugin haben kürzliche 'Tibet'-Binding-Änderungen auch benutzerdefinierte Visible
Binding-Eigenschaften auf allen Plattformen hinzugefügt - diese sind nur bool
s also viel einfacher zu verwenden - sie sollten 'einfach funktionieren' auf iOS und Android, auf Windows-Plattformen funktionieren sie jedoch nur, wenn Sie zum "Tibet" mvx:Bi.nd
Bindungsstil wechseln (also nicht jedermanns bevorzugter Ansatz!)