Validation Tooltip remains open

4 posts, 0 answers
  1. peter
    peter avatar
    37 posts
    Member since:
    Feb 2011

    Posted 06 Sep 2012 Link to this post

    Hi i have a a validation tooltip on a textbox, the problem is if i do not enter no text into the textbox and go to another page it remains open, the only way to get rid of it is by refreshing the application. Here is my style, i actually copied it from the telerik CRM demo application.

    <Style x:Key="TextBoxStyle" TargetType="TextBox">
            <Setter Property="BorderBrush" Value="{StaticResource MainBrush}" />
            <Setter Property="Foreground" Value="{StaticResource BasicBrush}"/>
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
            <Setter Property="VerticalContentAlignment" Value="Top" />
            <Setter Property="Padding" Value="2,1" />
            <Setter Property="TextWrapping" Value="Wrap"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="TextBox">
                        <Grid x:Name="RootElement">
                            <VisualStateManager.VisualStateGroups>
                                <VisualStateGroup x:Name="CommonStates">
                                    <VisualStateGroup.Transitions>
                                        <VisualTransition GeneratedDuration="0:0:0.3">
                                            <VisualTransition.GeneratedEasingFunction>
                                                <CircleEase EasingMode="EaseOut"/>
                                            </VisualTransition.GeneratedEasingFunction>
                                        </VisualTransition>
                                    </VisualStateGroup.Transitions>
                                    <VisualState x:Name="Normal" />
                                    <VisualState x:Name="MouseOver">
                                        <Storyboard>
                                            <DoubleAnimation Duration="0"  Storyboard.TargetName="BorderOver" Storyboard.TargetProperty="Opacity" To="1" />
                                            <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="Border" d:IsOptimized="True"/>
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="Disabled">
                                        <Storyboard>
                                            <DoubleAnimation Duration="0"  Storyboard.TargetName="Border" Storyboard.TargetProperty="Opacity" To="0.2" />
                                            <DoubleAnimation Duration="0"  Storyboard.TargetName="ContentElement" Storyboard.TargetProperty="Opacity" To="0.3" />
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="ReadOnly">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Duration="0:0:0" Storyboard.TargetName="Border" Storyboard.TargetProperty="Background" >
                                                <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Transparent" />
                                            </ObjectAnimationUsingKeyFrames>
                                            <ObjectAnimationUsingKeyFrames Duration="0:0:0" Storyboard.TargetName="Border" Storyboard.TargetProperty="BorderBrush" >
                                                <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Transparent" />
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                                <VisualStateGroup x:Name="FocusStates">
                                    <VisualStateGroup.Transitions>
                                        <VisualTransition GeneratedDuration="0:0:0.3">
                                            <VisualTransition.GeneratedEasingFunction>
                                                <CircleEase EasingMode="EaseOut"/>
                                            </VisualTransition.GeneratedEasingFunction>
                                        </VisualTransition>
                                    </VisualStateGroup.Transitions>
                                    <VisualState x:Name="Focused" >
                                        <Storyboard>
                                            <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="FocusedVisual" d:IsOptimized="True"/>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Border">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <Visibility>Collapsed</Visibility>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="Unfocused" />
                                </VisualStateGroup>
                                <VisualStateGroup x:Name="ValidationStates">
                                    <VisualState x:Name="Valid" />
                                    <VisualState x:Name="InvalidUnfocused">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames
                                                Storyboard.TargetName="ValidationErrorElement"
                                                Storyboard.TargetProperty="Visibility">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" />
                                            </ObjectAnimationUsingKeyFrames>
                                            <ObjectAnimationUsingKeyFrames
                                                Storyboard.TargetName="validationTooltip"
                                                Storyboard.TargetProperty="IsOpen">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <System:Boolean>True</System:Boolean>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="InvalidFocused">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames
                                                Storyboard.TargetName="ValidationErrorElement"
                                                Storyboard.TargetProperty="Visibility">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" />
                                            </ObjectAnimationUsingKeyFrames>
                                            <ObjectAnimationUsingKeyFrames
                                                Storyboard.TargetName="validationTooltip"
                                                Storyboard.TargetProperty="IsOpen">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <System:Boolean>True</System:Boolean>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                            </VisualStateManager.VisualStateGroups>
      
                            <Border x:Name="Border" Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}" 
                                BorderThickness="{TemplateBinding BorderThickness}" Opacity="0.3" />
                            <Border x:Name="BorderOver"
                                BorderThickness="{TemplateBinding BorderThickness}" Opacity="0" Background="#4C000000" BorderBrush="#CCFFFFFF" />
                            <Border x:Name="FocusedVisual" Opacity="0" BorderBrush="{StaticResource AccentBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}" Background="#7F000000" />
                            <ScrollViewer
                                Padding="{TemplateBinding Padding}" BorderThickness="0" Background="Transparent"
                                Foreground="{TemplateBinding Foreground}"
                                VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                                HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                x:Name="ContentElement" Margin="1" Opacity="0.7"/>
      
                            <!--Error Visual Element-->
                            <Border x:Name="ValidationErrorElement" BorderThickness="1" 
                                CornerRadius="2"
                                BorderBrush="{StaticResource ValidationBrush}" Visibility="Collapsed">
                                <ToolTipService.ToolTip>
                                    <ToolTip x:Name="validationTooltip"
                                        Template="{StaticResource ValidationTemplate}"
                                        Placement="Right"
                                        PlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                                        DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}">
                                        <ToolTip.Triggers>
                                            <EventTrigger RoutedEvent="Canvas.Loaded">
                                                <BeginStoryboard>
                                                    <Storyboard>
                                                        <ObjectAnimationUsingKeyFrames
                                                            Storyboard.TargetName="validationTooltip"
                                                            Storyboard.TargetProperty="IsHitTestVisible">
                                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                                <DiscreteObjectKeyFrame.Value>
                                                                    <System:Boolean>true</System:Boolean>
                                                                </DiscreteObjectKeyFrame.Value>
                                                            </DiscreteObjectKeyFrame>
                                                        </ObjectAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </BeginStoryboard>
                                            </EventTrigger>
                                        </ToolTip.Triggers>
                                    </ToolTip>
                                </ToolTipService.ToolTip>
                                <Grid Width="12" Height="12" HorizontalAlignment="Right"
                                    Margin="1,-4,-4,0" VerticalAlignment="Top"
                                    Background="Transparent">
                                    <Path Margin="1,3,0,0" Data="M 1,0 L6,0 A 2,2 90 0 1 8,2 L8,7 z"
                                        Fill="{StaticResource ValidationBrush}" />
                                </Grid>
                            </Border>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Setter Property="SelectionForeground" Value="{StaticResource MainBrush}"/>
            <Setter Property="SelectionBackground" Value="{StaticResource StrongBrush}"/>
            <Setter Property="CaretBrush">
                <Setter.Value>
                    <SolidColorBrush telerik:MetroColors.Color="Accent" />
                </Setter.Value>
            </Setter>
            <Setter Property="FontFamily" Value="Segoe UI"/>
            <Setter Property="FontSize" Value="12"/>
        </Style>
        <Style BasedOn="{StaticResource TextBoxStyle}" TargetType="TextBox" />
     
  2. Dimitrina
    Admin
    Dimitrina avatar
    3769 posts

    Posted 06 Sep 2012 Link to this post

    Hello,

    I have checked the Style you have applied. What is the result if you type a valid value, or when you press the Esc key?

    Kind regards,
    Didie
    the Telerik team

    Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

  3. DevCraft banner
  4. peter
    peter avatar
    37 posts
    Member since:
    Feb 2011

    Posted 06 Sep 2012 Link to this post

    Hi Didie,

    Thanks for responding, when i enter a valid  value into it, the tooltip disappears. The ESCkey does nothing, the tooltip remains. Thanks
  5. Dimitrina
    Admin
    Dimitrina avatar
    3769 posts

    Posted 07 Sep 2012 Link to this post

    Hi,

     I was able to exit edit mode after I pressed the Escape key two times. Would it be possible for you to isolate the problem in a demo project which we could debug locally. That way we can further investigate it.

    Regards,
    Didie
    the Telerik team

    Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

Back to Top