Telerik Forums
UI for WPF Forum
4 answers
157 views

Hi,

 I have a chartview that is bound to the same data as a gridview. Each series corresponds to a different column. The usercontrol containing these filter data based on combobox values and then displays the resulting data in the chartview and gridview. For some filter combinations this works perfectly, but for others the chartview does not display correctly. Note on the attached screen capture the "spikes" in the graph and comparing them to the data in the gridview which is fine. As I have mentioned both are bound to the same observable collection in the view model from the same view (user control).

Here is the chartview section:

 

<telerik:RadCartesianChart x:Name="chartFromPort" Margin="5" >
    <telerik:RadCartesianChart.Behaviors>
        <telerik:ChartTooltipBehavior HorizontalOffset="-6" VerticalOffset="-49" />
    </telerik:RadCartesianChart.Behaviors>
    <telerik:RadCartesianChart.TooltipTemplate>
        <DataTemplate>
            <Grid>
                <Path Data="M-1236,-441 L-1180,-441 -1180,-424 -1228,-424 -1230.5,-420 -1233,-424 -1236,-424 z"
                      Stretch="Fill" Fill="White" Stroke="Gray" StrokeThickness="1" />
                <TextBlock Text="{Binding Value, StringFormat='N0'}" Margin="4,3,4,9" FontFamily="Segoe UI" />
            </Grid>
        </DataTemplate>
    </telerik:RadCartesianChart.TooltipTemplate>
    <telerik:RadCartesianChart.Resources>
        <DataTemplate x:Key="StrategyTemplate">
            <Ellipse Height="10" Width="10" Fill="Red" />
        </DataTemplate>
        <DataTemplate x:Key="TrafficFileTemplate">
            <Ellipse Height="10" Width="10" Fill="Blue" />
        </DataTemplate>
    </telerik:RadCartesianChart.Resources>
    <telerik:RadCartesianChart.HorizontalAxis>
        <telerik:CategoricalAxis LabelFitMode="Rotate" LabelRotationAngle="270" PlotMode="BetweenTicks" />
    </telerik:RadCartesianChart.HorizontalAxis>
    <telerik:RadCartesianChart.VerticalAxis>
        <telerik:LinearAxis Minimum="0" >
            <telerik:LinearAxis.LabelTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Converter={StaticResource LabelFormatConverter}}"/>
                </DataTemplate>
            </telerik:LinearAxis.LabelTemplate>
        </telerik:LinearAxis>
    </telerik:RadCartesianChart.VerticalAxis>
    <telerik:RadCartesianChart.Series>
        <telerik:AreaSeries ItemsSource="{Binding MarketShareVolumesFromPort}"
                                CategoryBinding="Year"
                                ValueBinding="RailPotential"
                                CombineMode="Stack"
                                >
            <telerik:AreaSeries.LegendSettings>
                <telerik:SeriesLegendSettings Title="Rail Potential" />
            </telerik:AreaSeries.LegendSettings>
            <telerik:AreaSeries.AreaShapeStyle>
                <Style TargetType="Path">
                    <Setter Property="Fill" Value="#FFC3D69B"/>
                </Style>
            </telerik:AreaSeries.AreaShapeStyle>
        </telerik:AreaSeries>
 
        <telerik:AreaSeries ItemsSource="{Binding MarketShareVolumesFromPort}"
                                CategoryBinding="Year"
                                ValueBinding="Competitive"
                                CombineMode="Stack"
                                >
            <telerik:AreaSeries.LegendSettings>
                <telerik:SeriesLegendSettings Title="Competitive Potential" />
            </telerik:AreaSeries.LegendSettings>
            <telerik:AreaSeries.AreaShapeStyle>
                <Style TargetType="Path">
                    <Setter Property="Fill" Value="#FFFFC000"/>
                </Style>
            </telerik:AreaSeries.AreaShapeStyle>
        </telerik:AreaSeries>
 
        <telerik:AreaSeries ItemsSource="{Binding MarketShareVolumesFromPort}"
                                CategoryBinding="Year"
                                ValueBinding="RoadFriendly"
                                CombineMode="Stack"
                                >
            <telerik:AreaSeries.LegendSettings>
                <telerik:SeriesLegendSettings Title="Road Potential" />
            </telerik:AreaSeries.LegendSettings>
            <telerik:AreaSeries.AreaShapeStyle>
                <Style TargetType="Path">
                    <Setter Property="Fill" Value="#FFE6B9B8"/>
                </Style>
            </telerik:AreaSeries.AreaShapeStyle>
        </telerik:AreaSeries>
 
        <telerik:AreaSeries ItemsSource="{Binding MarketShareVolumesFromPort}"
                                CategoryBinding="Year"
                                ValueBinding="SmallParcelLimit"
                                CombineMode="Stack"
                                >
            <telerik:AreaSeries.LegendSettings>
                <telerik:SeriesLegendSettings Title="Small Parcels" />
            </telerik:AreaSeries.LegendSettings>
            <telerik:AreaSeries.AreaShapeStyle>
                <Style TargetType="Path">
                    <Setter Property="Fill" Value="#FF8EB4E3"/>
                </Style>
            </telerik:AreaSeries.AreaShapeStyle>
        </telerik:AreaSeries>
 
        <telerik:LineSeries ItemsSource="{Binding MarketShareVolumesFromPort}"
                                CategoryBinding="Year"
                                ValueBinding="RailStrategy"
                                CombineMode="None"
                                PointTemplate="{StaticResource StrategyTemplate}"
                                >
            <telerik:LineSeries.LegendSettings>
                <telerik:SeriesLegendSettings Title="Rail Strategy" MarkerGeometry="{StaticResource EllipseGeometry1}" />
            </telerik:LineSeries.LegendSettings>
            <telerik:LineSeries.StrokeShapeStyle>
                <Style TargetType="Path">
                    <Setter Property="Stroke" Value="Red"/>
                    <Setter Property="StrokeThickness" Value="2"/>
                </Style>
            </telerik:LineSeries.StrokeShapeStyle>
        </telerik:LineSeries>
 
        <telerik:LineSeries ItemsSource="{Binding MarketShareVolumesFromPort}"
                                CategoryBinding="Year"
                                ValueBinding="PlannedRail"
                                CombineMode="None"
                                PointTemplate="{StaticResource TrafficFileTemplate}"
                                >
            <telerik:LineSeries.LegendSettings>
                <telerik:SeriesLegendSettings Title="TrafficFile" MarkerGeometry="{StaticResource EllipseGeometry1}" />
            </telerik:LineSeries.LegendSettings>
            <telerik:LineSeries.StrokeShapeStyle>
                <Style TargetType="Path">
                    <Setter Property="Stroke" Value="Blue"/>
                    <Setter Property="StrokeThickness" Value="2"/>
                </Style>
            </telerik:LineSeries.StrokeShapeStyle>
        </telerik:LineSeries>
 
    </telerik:RadCartesianChart.Series>
</telerik:RadCartesianChart>

And here is the gridview section:

<telerik:RadGridView Margin="5"
                 RowIndicatorVisibility="Collapsed"
                 AutoGenerateColumns="False"
                 ShowGroupPanel="False"
                 ItemsSource="{Binding MarketShareVolumesFromPort}"
                 >
    <telerik:RadGridView.Columns>
        <telerik:GridViewDataColumn Header="Year"
                                DataMemberBinding="{Binding Year}"
                                Width="60"
                                IsFilterable="False"
                                IsSortable="False"
                                IsReadOnly="True"
                                HeaderTextAlignment="Center"
                                />
        <telerik:GridViewDataColumn Header="Small Parcels"
                                DataMemberBinding="{Binding SmallParcelLimit}"
                                Width="100"
                                IsFilterable="False"
                                IsSortable="False"
                                IsReadOnly="True"
                                DataFormatString="N2"
                                HeaderTextAlignment="Center"
                                TextAlignment="Right"
                                />
        <telerik:GridViewDataColumn Header="Road Potential"
                                DataMemberBinding="{Binding RoadFriendly}"
                                Width="100"
                                IsFilterable="False"
                                IsSortable="False"
                                IsReadOnly="True"
                                DataFormatString="N2"
                                HeaderTextAlignment="Center"
                                TextAlignment="Right"
                                />
        <telerik:GridViewDataColumn Header="Competitive Potential"
                                DataMemberBinding="{Binding Competitive}"
                                Width="100"
                                IsFilterable="False"
                                IsSortable="False"
                                IsReadOnly="True"
                                DataFormatString="N2"
                                HeaderTextAlignment="Center"
                                TextAlignment="Right"
                                />
        <telerik:GridViewDataColumn Header="Rail Potential"
                                DataMemberBinding="{Binding RailPotential}"
                                Width="100"
                                IsFilterable="False"
                                IsSortable="False"
                                IsReadOnly="True"
                                DataFormatString="N2"
                                HeaderTextAlignment="Center"
                                TextAlignment="Right"
                                />
        <telerik:GridViewDataColumn Header="Total Potential"
                                DataMemberBinding="{Binding TotalPotential}"
                                Width="100"
                                IsFilterable="False"
                                IsSortable="False"
                                IsReadOnly="True"
                                DataFormatString="N2"
                                HeaderTextAlignment="Center"
                                TextAlignment="Right"
                                />
        <telerik:GridViewDataColumn Header="Rail Strategy"
                                DataMemberBinding="{Binding RailStrategy}"
                                Width="100"
                                IsFilterable="False"
                                IsSortable="False"
                                IsReadOnly="True"
                                DataFormatString="N2"
                                HeaderTextAlignment="Center"
                                TextAlignment="Right"
                                />
        <telerik:GridViewDataColumn Header="Traffic File"
                                DataMemberBinding="{Binding PlannedRail}"
                                Width="100"
                                IsFilterable="False"
                                IsSortable="False"
                                IsReadOnly="True"
                                DataFormatString="N2"
                                HeaderTextAlignment="Center"
                                TextAlignment="Right"
                                />
        <telerik:GridViewDataColumn Header="Rail Addressable"
                                DataMemberBinding="{Binding RoadPotential}"
                                Width="100"
                                IsFilterable="False"
                                IsSortable="False"
                                IsReadOnly="True"
                                DataFormatString="N2"
                                HeaderTextAlignment="Center"
                                TextAlignment="Right"
                                />
    </telerik:RadGridView.Columns>
</telerik:RadGridView>

The business objects in the collection has the following definition: 

[Table("MarketShareDataVolumes")]
public partial class MarketShareDataVolume
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int MarketShareDataVolumeId { get; set; }
    public int MarketShareDataPointId { get; set; }
    public virtual MarketShareDataPoint MarketShareDataPoint { get; set; }
    public byte YearIndex { get; set; }
    public double? RailPotential { get; set; }
    public double? RoadPotential { get; set; }
    public double? NoLimit { get; set; }
    public double? SmallParcelLimit { get; set; }
    public double? PlannedRail { get; set; }
    public double? RailStrategy { get; set; }
    [NotMapped]
    public short? Year { get; private set; }
    [NotMapped]
    public double Competitive { get; private set; }
    [NotMapped]
    public double RoadFriendly { get; private set; }
    [NotMapped]
    public double TotalPotential { get; private set; }
 
    public void Initialise()
    {
        if (MarketShareDataPoint != null) Year = (short)(MarketShareDataPoint.MarketShareDataSet.BaseYear + YearIndex);
        Competitive = (RoadPotential ?? 0) - (RailPotential ?? 0);
        RoadFriendly = (NoLimit ?? 0) - (RoadPotential ?? 0);
        TotalPotential = (NoLimit ?? 0) + (SmallParcelLimit ?? 0);
    }
}

Initialise gets called on each object before it is added to the observable collection.

I would greatly appreciate any urgent assistance

Regards

Renier

 

 

Petar Marchev
Telerik team
 answered on 04 Nov 2015
9 answers
281 views
Hi, my problem is as follows; How can i bind the DisplayNames to my resources, so that language changes also effects them? using MVVM.
I can change the language of content in the property grid and everything around it with my CultureChangeEvent, but not the statically bound DisplayNames. Either I'd like them non-static or some way to update them as statics..
I have tried to get them in a non-static DataContext but failed, please help.

<telerik:RadPropertyGrid x:Name="SettingsPropertyGrid"
                         Item="{Binding Setting}"
                         SearchBoxVisibility="Collapsed"
                         SortAndGroupButtonsVisibility="Collapsed"
                         AutoGeneratePropertyDefinitions="False">
    <telerik:RadPropertyGrid.PropertyDefinitions>
        <telerik:PropertyDefinition Binding="{Binding Languages, Mode=TwoWay}"
                                    GroupName="Localization"
                                    DisplayName="{x:Static resx:SettingsModule_Resource.DisplayNameLanguage}"
                                    />
        <telerik:PropertyDefinition Binding="{Binding MeasurementUnit, Mode=TwoWay}"
                                    GroupName="Localization"
                                    DisplayName="{x:Static resx:SettingsModule_Resource.DisplayNameUnit}"
                                    />
        <telerik:PropertyDefinition Binding="{Binding DeviceId, Mode=TwoWay}"
                                    GroupName="Developer Settings"
                                    DisplayName="{x:Static resx:SettingsModule_Resource.DisplayNameDevice}"
                                    />
        <telerik:PropertyDefinition Binding="{Binding LogLevel, Mode=TwoWay}"
                                    GroupName="Developer Settings"
                                    DisplayName="{x:Static resx:SettingsModule_Resource.DisplayNameLog}"
                                    />
    </telerik:RadPropertyGrid.PropertyDefinitions>
</telerik:RadPropertyGrid>


Asked the question in an old post, I probably shouldn't have done that..

//Anders
Petya
Telerik team
 answered on 04 Nov 2015
1 answer
70 views

Hello,

the text below RadRibbonButton and RadRibbonSplitButton are not at the same vertical place in the Office 2013 theme.

So, when these two buttons are posted in adjacent positions, they don't look good.

See the attached screen shot.

Evgenia
Telerik team
 answered on 04 Nov 2015
7 answers
119 views

We are planning to use the ScheduleView for showing appointments and also a host of other events such as lunch times, sick days, meetings, etc. I understand that for the latter, I would use the special slot mechanism. However, I have the requirement that these special slots should be able to overlap, even cover, each other.

My search in this forum regarding this seems to suggest that it is not possible (though some old posts mention a z-order property that might be use for that).

Can you confirm whether it is possible or not, or can you suggest a way to achieve this.

Thanks.

Kalin
Telerik team
 answered on 04 Nov 2015
4 answers
85 views

Hello,

If I open a column filter and switch to another application with Alt-Tab, the filter remains displayed on top of the newly displayed application.

Yoan
Telerik team
 answered on 04 Nov 2015
1 answer
115 views

at the moment I have a text box with some validation code. In the program they can set the range acceptable by the input box. I'm wondering how would I disable a buttom if the validation failed for the input box. At the moment if my validation fails, a ErrorMessage Prompt appears saying it's out of the acceptable range. 

     <telerik:RadMaskedCurrencyInput 
         x:Name="Pv" Grid.Row="0" Grid.Column="1" 
         IsClearButtonVisible="True" 
         SelectionOnFocus="SelectAll" HorizontalAlignment="Center" 
         Width="108"
         ErrorMessage="{Binding PvErrorMessage}"
         AutoFillNumberGroupSeparators="False"
         MaskedInput:MaskedInputExtensions.Minimum="0"         
         EmptyContent="Enter a Principal">
         <telerik:RadMaskedCurrencyInput.Value>
             <Binding Path="Pv" 
                      UpdateSourceTrigger="PropertyChanged"                                         
                      NotifyOnValidationError="True" ValidatesOnExceptions="True">
                 <Binding.ValidationRules>
                     <Framework:IntValidationRule   
                         ValidatesOnTargetUpdated="True"   
                         ProductId="{Framework:DataResourceBinding DataResource={StaticResource ProductId}}" 
                         Type="{Framework:DataResourceBinding DataResource={StaticResource Principal}}"
                         BringForward="{Framework:DataResourceBinding DataResource={StaticResource BringForward}}">
                     </Framework:IntValidationRule>
                 </Binding.ValidationRules>
             </Binding>
         </telerik:RadMaskedCurrencyInput.Value>
     </telerik:RadMaskedCurrencyInput>

If the masked input box has an error, I would like to disable my Button

     <Button Content="Calculate"
             IsEnabled="{Binding CalculatorEnabled}">

Example:

    Range $1-$10,000

    I input $50,000
    Calculator Enabled should be 'False'

How do I update CalculatorEnabled if there's been a validation fail or pass?  

Peshito
Telerik team
 answered on 03 Nov 2015
1 answer
127 views

Hi,

 

I would like to know how I can detect any mouse click on any navigation buttons in the NavigationHeader.

 

Thank's

Alain

Nasko
Telerik team
 answered on 03 Nov 2015
1 answer
175 views

Hi,

 

I would like to know how it's possible to remove the view definitions buttons from the NavigationHeader?

 

Thank's

Alain

Nasko
Telerik team
 answered on 03 Nov 2015
5 answers
265 views

I was asked to try Telerik for our upcoming project.  I downloaded the trial version last friday and played with it yesterday.  The more stuff I added in the XAML, the less WISYWIG was the view in the XAML editor.

I was also getting the IntelliSense issue (see http://www.telerik.com/forums/vs-2015-xaml-intellisense-not-working) so I installed the HotFix.  Now, my rendered XAML in the editor is giving a "Sequence contains more than one element" with a big stack trace.  Still, the test application runs fine.  The problematic XAML is a chart inside the pane of a Split Container:

 

<telerik:RadPaneGroup>
   <telerik:RadPane Header="Results" ContextMenuTemplate="{x:Null}" CanUserClose="False" CanFloat="False">
       <telerik:RadCartesianChart>
           <telerik:RadCartesianChart.HorizontalAxis>
               <telerik:CategoricalAxis />
           </telerik:RadCartesianChart.HorizontalAxis>
           <telerik:RadCartesianChart.VerticalAxis>
               <telerik:LinearAxis />
           </telerik:RadCartesianChart.VerticalAxis>
           <telerik:RadCartesianChart.Series>
               <telerik:BarSeries>
                   <telerik:BarSeries.DataPoints>
                       <telerik:CategoricalDataPoint Category="Apples" Value="20"/>
                       <telerik:CategoricalDataPoint Category="Bananas" Value="28"/>
                       <telerik:CategoricalDataPoint Category="Oranges" Value="17"/>
                       <telerik:CategoricalDataPoint Category="Strawberries" Value="30"/>
                   </telerik:BarSeries.DataPoints>
               </telerik:BarSeries>
           </telerik:RadCartesianChart.Series>
       </telerik:RadCartesianChart>
   </telerik:RadPane>
</telerik:RadPaneGroup>

If I remove the "RadCartesianChart" section, the exception goes away.  The rendered preview still makes no sense though.

It's very hard to create a XAML view if the editor doesn't render the view correctly.

Petar Mladenov
Telerik team
 answered on 03 Nov 2015
1 answer
176 views

Hi,

 I am facing an issue where I have a Listbox in RadPane. This listbox has Textblock, Textblock is made up of hyperlink + some text which I am creating dynamically. On clicking of hyperlink I am navigating to other dock. This works fine when RadPane is pinned, but when it is in auto hide, clicking on hyperlink doesn't work. (It works sometimes in 4-5 clicks). On click of hyperlink, RadPane just gets hide, so Click event doesn;t fire. While Listbox item selected gets fired everytime.

 anybody have any idea , what could be the issue ??

Nasko
Telerik team
 answered on 03 Nov 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?