Forum Xamarin.Forms
We are excited to announce that the Xamarin Forums are moving to the new Microsoft Q&A experience. Q&A is the home for technical questions and answers at across all products at Microsoft now including Xamarin!

We encourage you to head over to Microsoft Q&A for .NET for posting new questions and get involved today.

Entry Triggers are not firing when using a custom Renderer

suringroppersuringropper USMember ✭✭
edited March 2017 in Xamarin.Forms

hi,

i have used the AppCompat to extended my material disign, i have extended entry(TextInputLayout).
but now my trigger applied to my xamarin forms entry , are not firing any more.

does any body have any idea how to solve this?

xaml code:

 <Entry             
                Text="{Binding Password.Value, Mode=TwoWay}"
                IsPassword="true"
                AutomationId="password"
                    Placeholder="Password"
                    PlaceholderColor="Black">
                <Entry.Style>
                    <OnPlatform x:TypeArguments="Style"
                        iOS="{StaticResource EntryStyle}"
                        Android="{StaticResource EntryStyle}"
                        WinPhone="{StaticResource UwpEntryStyle}"/>
                </Entry.Style>
                <Entry.Behaviors>
                    <behaviors:TurnValidOnFocusBehavior ValidityObject="{Binding Password}" />
                </Entry.Behaviors>
                <Entry.Triggers>
                    <DataTrigger TargetType="Entry" 
                                 Binding="{Binding Password.IsValid}" 
                                 Value="False">
                        <Setter Property="effects:LineColorEffect.LineColor" Value="{StaticResource ErrorColor}" />
                    </DataTrigger>
                </Entry.Triggers>
            </Entry>

Answers

  • andrewmorris.meandrewmorris.me USMember ✭✭

    Did you ever figure out a resolution for this?

  • andrewmorris.meandrewmorris.me USMember ✭✭
    edited August 2017

    Being able to update the on platform to the new format within the entry style seemed to resolve the issue for me. Maybe try replacing the style with the following?

    <Entry.Style>
    <OnPlatform x:TypeArguments="Style" >
    <On Platform="Android" Value="{StaticResource EntryStyle}" />
    <On Platform="iOS" Value="{StaticResource EntryStyle}" />
    </OnPlatform>
    </Entry.Style>

  • GasCanGasCan Member ✭✭

    Since this is one of the top posts on google and describes what I was seeing. The reason the EntryStyle makes it "work" was because the Behavior needed ApplyLineColor set to true in order for it to work and the style had that set.

    <Style x:Key="EntryStyle" TargetType="{x:Type Entry}">
    <Setter Property="behaviors:LineColorBehavior.ApplyLineColor"
    Value="True" />
    </Style>

Sign In or Register to comment.