Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin表单验证。聚合多个控制行为的结果_C#_Validation_Xaml_Xamarin_Xamarin.forms - Fatal编程技术网

C# Xamarin表单验证。聚合多个控制行为的结果

C# Xamarin表单验证。聚合多个控制行为的结果,c#,validation,xaml,xamarin,xamarin.forms,C#,Validation,Xaml,Xamarin,Xamarin.forms,我有一个有3-4个入口控件的页面。我创建了一个行为来验证这些条目。我还扩展了entry类,使其具有边框、边框颜色和边框半径。所以Xaml是这样的 <controls:ExtendedEntry x:Name="emailaddressEntry" Grid.Row="0" Grid.Column="1"

我有一个有3-4个入口控件的页面。我创建了一个行为来验证这些条目。我还扩展了entry类,使其具有边框、边框颜色和边框半径。所以Xaml是这样的

<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>
<Button Command="{Binding OnCreateCommand}" Text="Submit Account Application" BindingContext="{x:Reference EmailAddressValidator,PasswordValidator,AddressValidator}" IsEnabled="{Binding Path=EmailAddressValidator.IsValid && PasswordValidator.IsValid && AddressValidator.IsValid}"/>

现在EntryValidator行为有一个IsValid属性,它告诉我们控件是否处于有效状态。我想做的是根据所有条目的IsValid启用或禁用我的submit按钮。像这样的

<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>
<Button Command="{Binding OnCreateCommand}" Text="Submit Account Application" BindingContext="{x:Reference EmailAddressValidator,PasswordValidator,AddressValidator}" IsEnabled="{Binding Path=EmailAddressValidator.IsValid && PasswordValidator.IsValid && AddressValidator.IsValid}"/>


我不认为您可以在
按钮中执行此操作
我不认为您可以在
按钮中执行此操作
这很有帮助!这很有帮助!