This is a migrated thread and some comments may be shown as answers.

Error creating Thermometer example

3 Answers 90 Views
Gauges
This is a migrated thread and some comments may be shown as answers.
Robert
Top achievements
Rank 1
Robert asked on 13 Jul 2009, 10:50 PM

Hi

I've done quite a lot of WinForm stuff but I'm juist getting into WPF.

I have been experimenting with the simple thermometer demonstration on your website at:
http://www.telerik.com/help/wpf/linear-gauge-create-thermometer.html

And I'm getting the following error:

"The type reference cannot find a public type named 'MajorTickProperties'."

on:

<Style x:Key="ScaleMajorTick" TargetType="{x:Type telerik:MajorTickProperties}">
                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I'm guessing it's a reference/namespace issue but I'm referencing Telerik.Windows.Controls and Telerik.Windows.Controls.Gauge.

And I'm including xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" in the Window declaration.

<Window x:Class="Thermometer.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
    Title="MainWindow" Height="400" Width="400">

The rest of the code is here:

<Window x:Class="Thermometer.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
    Title="MainWindow" Height="400" Width="400">
   
    <Window.Resources>
        <Style x:Key="CommonScaleStyle" TargetType="{x:Type telerik:LinearScale}">
            <Setter Property="Top" Value="0.05" />
            <Setter Property="StartWidth" Value="0.05" />
            <Setter Property="EndWidth" Value="0.05" />
            <Setter Property="MiddleTicks" Value="1" />
            <Setter Property="MinorTicks" Value="5" />
            <Setter Property="BorderBrush" Value="Transparent" />
        </Style>
        <Style x:Key="ScaleMajorTick" TargetType="{x:Type telerik:MajorTickProperties}">
            <Setter Property="Length" Value="0.03" />
            <Setter Property="TickWidth" Value="0.2" />
        </Style>
        <Style x:Key="ScaleMinorTick" TargetType="{x:Type telerik:MajorTickProperties}">
            <Setter Property="Length" Value="0.02" />
            <Setter Property="TickWidth" Value="0.15" />
        </Style>
        <Style x:Key="ScaleLabel" TargetType="{x:Type telerik:MajorLabelProperties}">
            <Setter Property="Offset" Value="0.03" />
        </Style>
        <Style x:Key="ThermometerBarStyle" TargetType="{x:Type telerik:LinearBar}">
            <Setter Property="StrokeThickness" Value="0" />
            <Setter Property="IsAnimated" Value="True" />
            <Setter Property="EmptyFill" Value="Transparent" />
            <Setter Property="Background">
                <Setter.Value>
                    <LinearGradientBrush StartPoint="-0.0263883,0.499995" EndPoint="1.01428,0.499995">
                        <GradientStop Color="#FFFEFFFE" Offset="0"/>
                        <GradientStop Color="#FFFEFFFE" Offset="0.5"/>
                        <GradientStop Color="#FFD8DADB" Offset="0.501"/>
                        <GradientStop Color="#FFB2B5B7" Offset="1"/>
                    </LinearGradientBrush>
                </Setter.Value>
            </Setter>
            <Setter Property="StartWidth" Value="0.013"/>
            <Setter Property="EndWidth" Value="0.013"/>
        </Style>
        <DataTemplate x:Key="TickLabelEmpty" />
        <Style x:Key="BulbStyle" TargetType="{x:Type telerik:CustomTickMark}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <ContentPresenter>
                            <ContentPresenter.Content>
                                <Grid Margin="-5,0,-5,24" Width="100">
                                    <Grid Margin="39.5,1,39.5,0">
                                        <Ellipse Stretch="Fill" Height="21" Fill="#FF720700" Margin="0,0,0,0" VerticalAlignment="Bottom" Opacity="0.5"/>
                                        <Border CornerRadius="6,6,6,6" BorderBrush="#FF720700" BorderThickness="2,2,2,2" Margin="3,0,3,2" Width="12" Opacity="0.5">
                                            <Border.Background>
                                                <LinearGradientBrush StartPoint="0.5,0.955317" EndPoint="0.5,0.00861141">
                                                    <GradientStop Color="#FF5A0400" Offset="0"/>
                                                    <GradientStop Color="#FF900C00" Offset="1"/>
                                                </LinearGradientBrush>
                                            </Border.Background>
                                        </Border>
                                        <Border Margin="6.5,1,6.5,3" CornerRadius="5,5,5,5" BorderBrush="#FFFF6D00" BorderThickness="1,1,1,1" Background="{x:Null}" VerticalAlignment="Stretch"/>
                                        <Ellipse Stretch="Fill" Height="17" VerticalAlignment="Bottom" Stroke="#FFFF6D00" Margin="2,0,2,2" x:Name="redEllipse">
                                            <Ellipse.Fill>
                                                <RadialGradientBrush>
                                                    <GradientStop Offset="0" Color="#FF720700" />
                                                </RadialGradientBrush>
                                            </Ellipse.Fill>
                                        </Ellipse>
                                        <Border Margin="7.5,2,7.5,4" CornerRadius="4,4,4,4" BorderBrush="#FF720700" BorderThickness="1,1,1,1">
                                            <Border.Background>
                                                <LinearGradientBrush StartPoint="0.5,0.955317" EndPoint="0.5,0.00861141">
                                                    <GradientStop Color="#FF5A0400" Offset="0"/>
                                                    <GradientStop Color="#FF900C00" Offset="1"/>
                                                </LinearGradientBrush>
                                            </Border.Background>
                                        </Border>
                                        <Border Margin="8.5,220,8.5,9" CornerRadius="3,3,3,3">
                                            <Border.Background>
                                                <LinearGradientBrush StartPoint="-0.0263883,0.499995" EndPoint="1.01428,0.499995">
                                                    <GradientStop Color="#FFFEFFFE" Offset="0"/>
                                                    <GradientStop Color="#FFFEFFFE" Offset="0.5"/>
                                                    <GradientStop Color="#FFD8DADB" Offset="0.501"/>
                                                    <GradientStop Color="#FFB2B5B7" Offset="1"/>
                                                </LinearGradientBrush>
                                            </Border.Background>
                                        </Border>
                                        <Ellipse Stretch="Fill" Height="13" Margin="4,0,4,4" VerticalAlignment="Bottom">
                                            <Ellipse.Fill>
                                                <LinearGradientBrush StartPoint="-0.0263883,0.499995" EndPoint="1.01428,0.499995">
                                                    <GradientStop Color="#FFFEFFFE" Offset="0"/>
                                                    <GradientStop Color="#FFFEFFFE" Offset="0.50"/>
                                                    <GradientStop Color="#FFD8DADB" Offset="0.501"/>
                                                    <GradientStop Color="#FFB2B5B7" Offset="1"/>
                                                </LinearGradientBrush>
                                            </Ellipse.Fill>
                                        </Ellipse>
                                    </Grid>
                                </Grid>
                            </ContentPresenter.Content>
                        </ContentPresenter>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Setter Property="ItemTemplate" Value="{StaticResource TickLabelEmpty}" />
            <Setter Property="Length" Value="1" />
            <Setter Property="Offset" Value="0" />
            <Setter Property="TickWidth" Value="1" />
            <Setter Property="Type" Value="Custom" />
        </Style>
    </Window.Resources>
   
    <Grid Width="150" Height="300">
        <telerik:RadGauge>
            <telerik:LinearGauge>
                <telerik:LinearScale Name="Celsius" Max="40" Min="-30" MajorTicks="7" Style="{StaticResource CommonScaleStyle}">
                    <telerik:LinearScale.MajorTick>
                        <telerik:TickProperties Style="{StaticResource ScaleMajorTick}" Location="Outside" />
                    </telerik:LinearScale.MajorTick>
                    <telerik:LinearScale.MinorTick>
                        <telerik:TickProperties Style="{StaticResource ScaleMinorTick}" Location="Outside" />
                    </telerik:LinearScale.MinorTick>
                    <telerik:LinearScale.Label>
                        <telerik:LabelProperties Style="{StaticResource ScaleLabel}" Location="Outside"/>
                    </telerik:LinearScale.Label>
                    <telerik:TickList>
                        <telerik:CustomTickMark Value="-2" Style="{StaticResource BulbStyle}" Location="OverCenter"/>
                        <telerik:CustomTickMark Style="{StaticResource EmptyShapeCustomTick}" Value="-37">
                            <telerik:CustomTickMark.ItemTemplate>
                                <DataTemplate>
                                    <TextBlock>C&#0176;</TextBlock>
                                </DataTemplate>
                            </telerik:CustomTickMark.ItemTemplate>
                        </telerik:CustomTickMark>
                    </telerik:TickList>
                    <telerik:IndicatorList>
                        <telerik:LinearBar Style="{StaticResource ThermometerBarStyle}" Value="5"/>
                    </telerik:IndicatorList>
                </telerik:LinearScale>

                <telerik:LinearScale Name="Fahrenheit" Max="104" Min="-22" MajorTicks="6" StartTickOffset="2" EndTickOffset="-4"    Style="{StaticResource CommonScaleStyle}">
                    <telerik:LinearScale.MajorTick>
                        <telerik:TickProperties Style="{StaticResource ScaleMajorTick}" Location="Inside" />
                    </telerik:LinearScale.MajorTick>
                    <telerik:LinearScale.MinorTick>
                        <telerik:TickProperties Style="{StaticResource ScaleMinorTick}" Location="Inside" />
                    </telerik:LinearScale.MinorTick>
                    <telerik:LinearScale.Label>
                        <telerik:LabelProperties Style="{StaticResource ScaleLabel}" Location="Inside"/>
                    </telerik:LinearScale.Label>
                    <telerik:TickList>
                        <telerik:CustomTickMark Style="{StaticResource EmptyShapeCustomTick}" Location="Inside" Value="-34.5">
                            <telerik:CustomTickMark.ItemTemplate>
                                <DataTemplate>
                                    <TextBlock>F&#0176;</TextBlock>
                                </DataTemplate>
                            </telerik:CustomTickMark.ItemTemplate>
                        </telerik:CustomTickMark>
                    </telerik:TickList>
                </telerik:LinearScale>
            </telerik:LinearGauge>
        </telerik:RadGauge>
    </Grid>
</Window>

 

Hope someone can suggest something?

Regards

Rob

 

 

 

3 Answers, 1 is accepted

Sort by
0
Robert
Top achievements
Rank 1
answered on 14 Jul 2009, 03:56 AM
Hi All

I think I might have worked it out.

If you look at the Gauge in the object browser you can see that there is no Major/MinorTickProperties just a TickProperties.
Changing the code from

<Style x:Key="ScaleMajorTick" TargetType="{x:Type telerik:MajorTickProperties}">
<Setter Property="Length" Value="0.03" />
<Setter Property="TickWidth" Value="0.2" />
</
Style>
<
Style x:Key="ScaleMinorTick" TargetType="{x:Type telerik:MinorTickProperties}">
<Setter Property="Length" Value="0.02" />
<Setter Property="TickWidth" Value="0.15" />

to

<Style x:Key="ScaleMajorTick" TargetType="{x:Type telerik:TickProperties}">
<Setter Property="Length" Value="0.03" />
<Setter Property="TickWidth" Value="0.2" />
</
Style>
<
Style x:Key="ScaleMinorTick" TargetType="{x:Type telerik:TickProperties}">
<Setter Property="Length" Value="0.02" />
<Setter Property="TickWidth" Value="0.15" />

seemed to fix things nicely.

Love the controls!!!!!

If this is correct it might pay to update the code on the example page 8-)

Off to bind the control to something now 8-)

Regards

Rob
0
Andrey
Telerik team
answered on 14 Jul 2009, 02:58 PM
Hi Robert,

You are using version 2009.1 526 of our control. The MajorTickProperties, MiddleTickProperties and MinorTickProperties classes appear starting from the 2009.Q2 release (2009.2.xxx).  The “Create Thermometer” example is OK and need not to be changed. This example has been updated to be compatible with latest 2009.Q2 release of the RadGauge control.

Version 2009.1.526 uses single TickProperties class for all 3 (Major, Middle and Minor) tick mark types.

Greetings,
Andrey Murzov
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
0
Robert
Top achievements
Rank 1
answered on 14 Jul 2009, 10:43 PM
Thanks Andrey
That makes sense.
Really love the controls.
Regards
Rob
Tags
Gauges
Asked by
Robert
Top achievements
Rank 1
Answers by
Robert
Top achievements
Rank 1
Andrey
Telerik team
Share this question
or