Custom Tooltip Display

6 posts, 0 answers
  1. Scott Michetti
    Scott Michetti avatar
    92 posts
    Member since:
    Feb 2010

    Posted 06 Oct 2011 Link to this post

    Hello, I'm moving from the Scheduler to the ScheduleView. The following XAML was used in the Scheduler, and worked fine, although for the ScheduleView I changed Occurrence.Appointment to Appointment. The tooltip is no longer displaying correctly. The border color is not there. Also, I'm using a custom tooltip control to extend the duration the tooltip stays up, but the tooltip is only staying up for 7 seconds, which is the silverlight default. What changes can I make to have it work as it did in the Scheduler? If I comment out

    <Controls:ToolTipService.ToolTip>

     

    <Controls:ToolTip InitialDelay="00:00:00" DisplayTime="00:10:00">

     

    then the border displays, but the tip only shows for 7 seconds.

    Thanks
    Scott


     

     

     

    <DataTemplate x:Name="ToolTipTemplate2">

     

     

     

     

    <Grid Background="Transparent">

     

     

     

     

    <Controls:ToolTipService.ToolTip>

     

     

     

     

    <Controls:ToolTip InitialDelay="00:00:00" DisplayTime="00:10:00">

     

     

     

     

    <Border Background="{Binding Path=Appointment.Category.CategoryBrush}" BorderThickness="1,1,1,1" CornerRadius="1,1,1,1" >

     

     

     

     

    <TextBlock Text="{Binding Path=Appointment, Converter={StaticResource SubjectConverter}}" TextWrapping="Wrap" TextAlignment="Left" FontWeight="Bold" VerticalAlignment="Top" Height="100" Width="285" HorizontalAlignment="Left" Margin="2,2,0,0" />

     

     

     

     

    </Border>

     

     

     

     

    </Controls:ToolTip>

     

     

     

     

    </Controls:ToolTipService.ToolTip>

     

     

     

     

    <TextBox x:Name="PART_SubjectTextBox" Margin="7 0 5 0"

     

     

     

    VerticalAlignment="Top" HorizontalAlignment="Stretch"

     

     

     

    Text="{Binding Path=Appointment.Subject}" IsHitTestVisible="False" Style="{StaticResource AppointmentSubjectTextBox}"

     

     

     

    Foreground="Black" TextWrapping="Wrap" Background="Transparent" BorderThickness="0" />

     

     

     

     

    </Grid>

     

     

     

     

    </DataTemplate>

     


  2. Dani
    Admin
    Dani avatar
    848 posts

    Posted 07 Oct 2011 Link to this post

    Hi Scott,

    The xaml of your tooltip is part of a DataTemplate, which is just a means to present the content of a tooltip. What you are actually doing is trying to place a custom ToolTip inside a regular ToolTip. I believe this is causing the unexpected behavior.

    Basically, if you want to simply take advantage of the ToolTipTemplate attached property of RadScheduleView and display the default ToolTip with custom content template only, you would use the template which you posted here.

    If you wish to use a custom or a third-party ToolTip however, you will need to override the default one and create your own ToolTip inside the control template of the appointment item. Start off with setting ToolTipTemplate="{x:Null}" on RadScheduleView. Then use the AppointmentStyleSelector and add your custom tooltip to both the horizontal and vertical appointment templates.

    I hope this will be helpful in your scenario.

    All the best,
    Dani
    the Telerik team
    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
  3. DevCraft banner
  4. Scott Michetti
    Scott Michetti avatar
    92 posts
    Member since:
    Feb 2010

    Posted 15 Nov 2011 Link to this post

    Hello. I tried working with the AppointmentStyle demo you provide here. http://www.telerik.com/help/silverlight/radscheduleview-styles-and-templates-appointment-style.html#_Using_the_AppointmentStyleSelector_to_style_Appointments
    I tried to add the custom tooltip to the folowing section but I get an error. Where would I add my custom tooltip XAML?
    <telerik:OrientedAppointmentItemStyleSelector x:Key="ScheduleViewAppointmentStyleSelector">
        <telerik:OrientedAppointmentItemStyleSelector.HorizontalStyle>
           ...

    Thanks
    Scott
  5. Dani
    Admin
    Dani avatar
    848 posts

    Posted 17 Nov 2011 Link to this post

    Hello Scott,

    Please, find attached a sample which illustrates the described approach for implementing a custom tooltip in appointments. You should add your custom tooltip in both the horizontal and the verical appointment templates which are part of the AppointmentStyleSelector.

    I hope the sample will be helpful.  

    Greetings,
    Dani
    the Telerik team
    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
  6. Scott Michetti
    Scott Michetti avatar
    92 posts
    Member since:
    Feb 2010

    Posted 21 Nov 2011 Link to this post

    Thanks Dani, but my question remains. Where do I place my xaml? To reitierate. I had the xaml in the Scheduler and it worked fine. I upgraded to the SchedeView and the xaml no longer worked. I tried the AppointmentStyleSelector, but if I place the datatemplate that I used in the Scheduler, I get an error. So where do I place the xaml to get the custom tooltip control to work?
    To clarify, what I'm trying to accomplish is to extend the duration of the tooltip display, so I'm using this control http://tooltipservice.codeplex.com/.  Any help will be appreciated.

    Thanks
    Scott
  7. Dani
    Admin
    Dani avatar
    848 posts

    Posted 22 Nov 2011 Link to this post

    Hi Scott,

    RadScheduler and RadScheduleView are two separate controls and trying to use xaml resources from one into the other will naturally not work.

    The xaml mark-up of your custom tooltip in RadScheduleView should be placed in both the horizontal and vertical control templates of the AppointmentItem just as demonstrated in the provided previous sample project.

    Namely:
        <ControlTemplate x:Key="AppointmentItemHorizontalControlTemplate" TargetType="telerik:AppointmentItem">
                <Grid x:Name="Root">
                    <ToolTipService.ToolTip>
                        <ToolTip>
                            <Grid>
                                <Border Background="LightBlue" MinWidth="100" Margin="-20 -4" Padding="5">
                                    <TextBlock Text="{Binding Subject}" />
                                </Border>                           
                            </Grid>
                        </ToolTip>
                    </ToolTipService.ToolTip>
      
    ...
    </ControlTemplate>
      
    <ControlTemplate x:Key="AppointmentItemVerticalControlTemplate" TargetType="telerik:AppointmentItem">
                <Grid x:Name="Root">
                    <ToolTipService.ToolTip>
                        <ToolTip>
                            <Grid>
                                <Border Background="LightBlue" MinWidth="100" Margin="-20 -4" Padding="5">
                                    <TextBlock Text="{Binding Subject}" />
                                </Border>
                            </Grid>
                        </ToolTip>
                    </ToolTipService.ToolTip>
    ...
      
    </ControlTemplate>

    If you are still unable to implement this, please send us a working sample which shows the issue you are experiencing.

    I hope this helps.

    Greetings,
    Dani
    the Telerik team
    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
Back to Top
DevCraft banner