Error creating Thermometer example

4 posts, 0 answers
  1. Robert
    Robert avatar
    3 posts
    Member since:
    Jun 2009

    Posted 13 Jul 2009 Link to this post

    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

     

     

     

  2. Robert
    Robert avatar
    3 posts
    Member since:
    Jun 2009

    Posted 13 Jul 2009 Link to this post

    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
  3. UI for WPF is Visual Studio 2017 Ready
  4. Andrey
    Admin
    Andrey avatar
    1681 posts

    Posted 14 Jul 2009 Link to this post

    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.
  5. Robert
    Robert avatar
    3 posts
    Member since:
    Jun 2009

    Posted 14 Jul 2009 Link to this post

    Thanks Andrey
    That makes sense.
    Really love the controls.
    Regards
    Rob
Back to Top