Ich habe eine Seite, die 3-4 Eintragskontrollen hat. Ich habe ein Verhalten erstellt, um diese Einträge zu validieren. Ich habe auch die Eingabeklasse erweitert, um Ränder, Rahmenfarbe und Rahmenradius zu haben. So ist die XAML somethin wie dieseXamarin Forms Validierung. Aggregieren Sie das Ergebnis von mehreren Steuerverhalten
<controls:ExtendedEntry x:Name="emailaddressEntry"
Grid.Row="0"
Grid.Column="1"
BorderColor="Black"
HasBorder="True"
IsEnabled="True"
Placeholder="Email Address"
Text="{Binding EmailAddress}">
<controls:ExtendedEntry.Behaviors>
<v:EntryValidatorBehavior x:Name="EmailAddressValidator"
IsCheckEmail="True"
IsCheckEmpty="True" />
</controls:ExtendedEntry.Behaviors>
</controls:ExtendedEntry>
Nun ist das EntryValidator Verhalten eine IsValid Eigenschaft hat, die uns sagt, wenn die Steuerung in einem gültigen Zustand ist oder nicht. Was ich tun möchte, ist aktivieren oder deaktivieren Sie meine Schaltfläche senden basierend auf der IsValid aller Einträge. So etwas wie dieses
<Button Command="{Binding OnCreateCommand}" Text="Submit Account Application" BindingContext="{x:Reference EmailAddressValidator,PasswordValidator,AddressValidator}" IsEnabled="{Binding Path=EmailAddressValidator.IsValid && PasswordValidator.IsValid && AddressValidator.IsValid}"/>