I have a simple chart in a c#/wpf/mvvm design. Currently working on a trial version of the Chart View to see if it'll meet our development requirements, so I'm totally new to Telerik tools. I'm missing something on how to implement a tooltip for the chart. I've struggled for a day, and cannot get tooltips to work. ):
I've defined a tooltip in a datatemplate as follows. Ultimately, I'll bind the tooltip to an object in the ViewModel, but can't get this statice text to even work for now.
<UserControl.Resources>
<DataTemplate x:Key="PolicyTooltipTemplate">
<Grid>
<StackPanel>
<TextBlock FontSize="11" Text="Why am I not appearing in the grids tooltip?? ):" />
</StackPanel>
</Grid>
</DataTemplate>
</UserControl.Resources>
In my ChartView Bareries definition I specify the TootipTemplte to use as follows:
<chartView:BarSeries CategoryBinding="Year" TooltipTemplate="{StaticResource PolicyTooltipTemplate}"
CombineMode="Stack"
ValueBinding="PrimaryCoverage"
ItemsSource="{Binding ModelAuditCoverageChartAGL}">
<chartView:BarSeries.DefaultVisualStyle>
<Style TargetType="Border">
<Setter Property="Background" Value="DodgerBlue"/>
The chart display fine, (attached pic), but when I hover over the chart columns, I cannot get any tooltips? Have I implemented tooltips incorrectly for the ChartView? Thanks for any help!
Below is my full xaml:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:xctk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
xmlns:viewModels="clr-namespace:CmtModeler.WPF.Modules.AccountManagement.ViewModels"
xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Chart"
xmlns:chartView="clr-namespace:Telerik.Windows.Controls.ChartView;assembly=Telerik.Windows.Controls.Chart"
x:Class="CmtModeler.WPF.Modules.AccountManagement.Views.AmModelAuditView"
mc:Ignorable="d" VerticalAlignment="Top" HorizontalAlignment="Left"
d:DesignHeight="300" d:DesignWidth="300"
x:Name="ModelAdjustmentView"
d:DataContext="{d:DesignInstance {x:Type viewModels:AmModelAuditViewModel}}">
<UserControl.DataContext>
<viewModels:AmModelAuditViewModel/>
</UserControl.DataContext>
<UserControl.Resources>
<DataTemplate x:Key="PolicyTooltipTemplate">
<Grid>
<StackPanel>
<TextBlock FontSize="11" Text="Why am I not appearing in the grids tooltip?? ):" />
</StackPanel>
</Grid>
</DataTemplate>
</UserControl.Resources>
<xctk:BusyIndicator IsBusy="{Binding IsBusy}" BusyContent="Loading...">
<Grid x:Name="GridOuterShell" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!--Top gird containing models . . .-->
<DockPanel x:Name="DocPanelAuditModels" Grid.Row="0" Grid.Column="0">
<Grid>
<DataGrid x:Name="ModelsCededBoston" ItemsSource="{Binding ModelAudits}" SelectedItem="{Binding SelectedModelAudit}" Style="{StaticResource AccountMaintenanceGridStyle}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Batch_Id}" Header="Batch Id" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Model_Desc}" Header="Model Description" Width="400*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Coverage_Id}" Header="Coverage Id" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding User_Id}" Header="User Id" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Model_Run_Dt}" Header="Model Run Dt" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Engine_Version}" Header="Engine Version" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Application_Version}" Header="Application Version" Width="200" IsReadOnly="True"/>
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="DodgerBlue"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
</Grid>
</DockPanel>
<!--Chart showingdetals of selectedmodel . . .-->
<DockPanel x:Name="DocPanelAuditModelsDetails" Grid.Row="1" Grid.Column="0">
<telerik:RadCartesianChart x:Name="AuditModelRadChartView" Grid.Row="4" Grid.Column="0" Height ="500" Zoom="0, 0">
<telerik:RadCartesianChart.HorizontalAxis>
<chartView:CategoricalAxis LabelFitMode="Rotate" x:Name="HorizontalAxis" HorizontalAlignment="Stretch"
MajorTickInterval="1"
Title="Year"
LineThickness="2"
LineStroke="Black"
ShowLabels="True"/>
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<chartView:LinearAxis LabelFormat ="###,##0" />
</telerik:RadCartesianChart.VerticalAxis>
<chartView:BarSeries CategoryBinding="Year" TooltipTemplate="{StaticResource PolicyTooltipTemplate}"
CombineMode="Stack"
ValueBinding="PrimaryCoverage"
ItemsSource="{Binding ModelAuditCoverageChartAGL}">
<chartView:BarSeries.DefaultVisualStyle>
<Style TargetType="Border">
<Setter Property="Background" Value="DodgerBlue"/>
</Style>
</chartView:BarSeries.DefaultVisualStyle>
</chartView:BarSeries>
</telerik:RadCartesianChart>
</DockPanel>
</Grid>
</xctk:BusyIndicator>
</UserControl>
I've defined a tooltip in a datatemplate as follows. Ultimately, I'll bind the tooltip to an object in the ViewModel, but can't get this statice text to even work for now.
<UserControl.Resources>
<DataTemplate x:Key="PolicyTooltipTemplate">
<Grid>
<StackPanel>
<TextBlock FontSize="11" Text="Why am I not appearing in the grids tooltip?? ):" />
</StackPanel>
</Grid>
</DataTemplate>
</UserControl.Resources>
In my ChartView Bareries definition I specify the TootipTemplte to use as follows:
<chartView:BarSeries CategoryBinding="Year" TooltipTemplate="{StaticResource PolicyTooltipTemplate}"
CombineMode="Stack"
ValueBinding="PrimaryCoverage"
ItemsSource="{Binding ModelAuditCoverageChartAGL}">
<chartView:BarSeries.DefaultVisualStyle>
<Style TargetType="Border">
<Setter Property="Background" Value="DodgerBlue"/>
The chart display fine, (attached pic), but when I hover over the chart columns, I cannot get any tooltips? Have I implemented tooltips incorrectly for the ChartView? Thanks for any help!
Below is my full xaml:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:xctk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
xmlns:viewModels="clr-namespace:CmtModeler.WPF.Modules.AccountManagement.ViewModels"
xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Chart"
xmlns:chartView="clr-namespace:Telerik.Windows.Controls.ChartView;assembly=Telerik.Windows.Controls.Chart"
x:Class="CmtModeler.WPF.Modules.AccountManagement.Views.AmModelAuditView"
mc:Ignorable="d" VerticalAlignment="Top" HorizontalAlignment="Left"
d:DesignHeight="300" d:DesignWidth="300"
x:Name="ModelAdjustmentView"
d:DataContext="{d:DesignInstance {x:Type viewModels:AmModelAuditViewModel}}">
<UserControl.DataContext>
<viewModels:AmModelAuditViewModel/>
</UserControl.DataContext>
<UserControl.Resources>
<DataTemplate x:Key="PolicyTooltipTemplate">
<Grid>
<StackPanel>
<TextBlock FontSize="11" Text="Why am I not appearing in the grids tooltip?? ):" />
</StackPanel>
</Grid>
</DataTemplate>
</UserControl.Resources>
<xctk:BusyIndicator IsBusy="{Binding IsBusy}" BusyContent="Loading...">
<Grid x:Name="GridOuterShell" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!--Top gird containing models . . .-->
<DockPanel x:Name="DocPanelAuditModels" Grid.Row="0" Grid.Column="0">
<Grid>
<DataGrid x:Name="ModelsCededBoston" ItemsSource="{Binding ModelAudits}" SelectedItem="{Binding SelectedModelAudit}" Style="{StaticResource AccountMaintenanceGridStyle}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Batch_Id}" Header="Batch Id" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Model_Desc}" Header="Model Description" Width="400*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Coverage_Id}" Header="Coverage Id" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding User_Id}" Header="User Id" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Model_Run_Dt}" Header="Model Run Dt" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Engine_Version}" Header="Engine Version" Width="200" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Application_Version}" Header="Application Version" Width="200" IsReadOnly="True"/>
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="DodgerBlue"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
</Grid>
</DockPanel>
<!--Chart showingdetals of selectedmodel . . .-->
<DockPanel x:Name="DocPanelAuditModelsDetails" Grid.Row="1" Grid.Column="0">
<telerik:RadCartesianChart x:Name="AuditModelRadChartView" Grid.Row="4" Grid.Column="0" Height ="500" Zoom="0, 0">
<telerik:RadCartesianChart.HorizontalAxis>
<chartView:CategoricalAxis LabelFitMode="Rotate" x:Name="HorizontalAxis" HorizontalAlignment="Stretch"
MajorTickInterval="1"
Title="Year"
LineThickness="2"
LineStroke="Black"
ShowLabels="True"/>
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<chartView:LinearAxis LabelFormat ="###,##0" />
</telerik:RadCartesianChart.VerticalAxis>
<chartView:BarSeries CategoryBinding="Year" TooltipTemplate="{StaticResource PolicyTooltipTemplate}"
CombineMode="Stack"
ValueBinding="PrimaryCoverage"
ItemsSource="{Binding ModelAuditCoverageChartAGL}">
<chartView:BarSeries.DefaultVisualStyle>
<Style TargetType="Border">
<Setter Property="Background" Value="DodgerBlue"/>
</Style>
</chartView:BarSeries.DefaultVisualStyle>
</chartView:BarSeries>
</telerik:RadCartesianChart>
</DockPanel>
</Grid>
</xctk:BusyIndicator>
</UserControl>