Telerik Forums
UI for WPF Forum
3 answers
269 views

I have a template selector that I would like to work with the RadPanelBarItem items presenter. Unfortunatley the template is never called. I am doing the following:

<telerik:RadPanelBar Grid.Row="1" x:Name="PART_RAD_PANEL_BAR" Margin="5,5,0,0" ItemsSource="{Binding UpdateSourceTrigger=PropertyChanged, Path=ExperimentCollection.ExperimentTriggerCollection, NotifyOnSourceUpdated=True}" >             
</telerik:RadPanelBar>

And am using the following Style for the RadPanelBarItem (Cut for brevity)

<Style x:Key="PanelBarItemKey" TargetType="{x:Type telerik:RadPanelBarItem}">
    <Setter Property="Background">
        <Setter.Value>
            <LinearGradientBrush EndPoint="0.5,1"
                                 StartPoint="0.5,0">
                <GradientStop Color="White" />
                <GradientStop Color="Gainsboro"
                              Offset="0.43" />
                <GradientStop Color="#FFADADAD"
                              Offset="0.44" />
                <GradientStop Color="#FFD4D4D4"
                              Offset="1" />
            </LinearGradientBrush>
        </Setter.Value>
    </Setter>
    <Setter Property="BorderBrush"
            Value="#FF848484" />
    <Setter Property="BorderThickness"
            Value="1" />
    <Setter Property="Foreground"
            Value="Black" />
    <Setter Property="Padding"
            Value="3" />
    <Setter Property="HorizontalContentAlignment"
            Value="Stretch" />
    <Setter Property="VerticalContentAlignment"
            Value="Stretch" />
    <Setter Property="HeaderTemplate"
            Value="{StaticResource PanelBarItemTemplate}" />
    <Setter Property="ItemsSource"
            Value="{Binding SelectedTrigger}" />
    <Setter Property="ItemTemplateSelector"
            Value="{StaticResource TriggerTemplateSelectorKey}" />
    <Setter Property="ChildItemsTemplate">


And the following Template Selector:

Public Class TriggerTemplateSelector
    Inherits DataTemplateSelector
 
    Public Overrides Function SelectTemplate(ByVal item As Object, ByVal container As DependencyObject) As DataTemplate
 
        If item IsNot Nothing Then
 
            Dim et As ExperimentTrigger = CType(item, ExperimentTrigger)
 
            Dim element As FrameworkElement
            element = TryCast(container, FrameworkElement)
 
            Select Case et.TriggerType
                Case "Timer"
                    Return TryCast(element.FindResource("TimerTriggerTemplate"), DataTemplate)
                Case "Damage"
                    Return TryCast(element.FindResource("TriggerDamageTemplate"), DataTemplate)
                Case "IED Detonation"
                    Return TryCast(element.FindResource("TriggerDetonationTemplate"), DataTemplate)
            End Select
 
        Else
            Return Nothing
        End If
 
        Return Nothing
 
    End Function
End Class

The Items in the RadPanelBarItems need to call the template selector which I thought would be called by setting the ItemTemplateSelector in the Style, but this does not seem to be the case. How can I call my template selector in the RadPanelBarItem Style?

I am using the following to link to further illustrate.

If I do the following in XAML the template selector is called but I don't know how many RadPabelBarItems I will have:

<telerik:RadPanelBar Grid.Row="1"
                     Margin="5,5,0,0"
                     >
 
    <telerik:RadPanelBarItem Header="Test"
                             Style="{x:Null}"
                             ItemTemplateSelector="{StaticResource TriggerTemplateSelectorKey}"
                             ItemsSource="{Binding UpdateSourceTrigger=PropertyChanged, Path=ExperimentCollection.ExperimentTriggerCollection, NotifyOnSourceUpdated=True}" />
</telerik:RadPanelBar>


I have not had any luck with this so I am currently trying to do it procedurally. Is this possible to do this in XAML?

Regards,
Joseph

Tina Stancheva
Telerik team
 answered on 08 May 2013
6 answers
365 views
Hello

When I open a PDF using the "Open" button on the radtoolbar, I'd like to get the path of the selected PDF.  What's the best way to do this?  It would also work to pull this as a property from the pdfdocumentsource object etc. if available.

Thanks
Mark
Mark
Top achievements
Rank 1
 answered on 08 May 2013
2 answers
160 views
Hello,

In my RadGridView I have a field "Fruits" which is a comma separated string such as "apple, orange, banana". When I group on Fruits, the groups are created based on the string value in the Fruits .. What I want is  separate group for each value in the Fruits column .. Is there a way I can achieve this? I saw examples of CustomGroupDescriptors, will that help me achieve this functionality?

Thanks.
Rossen Hristov
Telerik team
 answered on 08 May 2013
1 answer
421 views

<telerik:GridViewDataColumn DataFormatString="N0" DataMemberBinding="{Binding MyValue}" Header="{Binding MyLabel, StringFormat=This {0}}" />

"This " is not shown in my header. What am I doing wrong?
Dimitrina
Telerik team
 answered on 08 May 2013
2 answers
184 views
Hi I am using the DataGrid with UI virtualization enabled.
In XAML the main attributes set on the Grid are:
EnableRowVirtualization="True"
ScrollMode="Deferred"
SelectionMode="Extended"

The grid binds to a VirtualQueryableCollection that makes uses of the ItemsLoading event to load data into the VirtualQueryableCollectionView.
So a queryable is not passed in as a constructor.

The Grid is working fine except for when I want to call Grid.SelectedItems.Clear().

I am manually populating the Grid.SelectedItems with the correct rows that should be selected.

The Grid has 240,000 rows. I select a few rows at the top to the grid.
Then I scroll down the bottom of the grid.
At the bottom I add another row to the selection, so Grid.SelectedItems has 3 items in it. Everything is fine.
A call is made to Grid.SelectedItems.Clear().
The process freezes and eventually a Stackoverflow exception is thrown.
The stacktrace does not show much. Throughout the trace a call to VirtualQueryableCollection.Load() is occurring for the whole list in increments of the LoadSize (100).

This is with version:
2013.1.022.0.40

If I try version
2012.3.1129.40
The process does not have a Stackoverflow exception but is stuck in a loop and does not return.

If I select items at the top of the grid only, it works fine. And if I select items at the bottom of the grid it works fine.

The machine I work on is not connected to the internet but I may be able to provide the stacktrace if needed.
Yordanka
Telerik team
 answered on 08 May 2013
1 answer
455 views
Hi all.

I need to sync position and width for two RadCartesianChart's.

XAML:

style definition for chart's:           
<Style x:Key="ChartStyle" TargetType="telerik:RadCartesianChart">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type telerik:RadChartBase}">
                            <Border Background="{TemplateBinding Background}"
                                    BorderBrush="{TemplateBinding BorderBrush}"
                                    BorderThickness="{TemplateBinding BorderThickness}">
                                <Grid>
                                    <ContentPresenter x:Name="emptyContent"
                                                      HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                      VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                                      Content="{TemplateBinding EmptyContent}"
                                                      ContentTemplate="{TemplateBinding EmptyContentTemplate}"
                                                      IsHitTestVisible="False"
                                                      Visibility="Collapsed" />
                                    <Canvas x:Name="adornerContainer"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Stretch"
                                            Background="Transparent">
                                        <Canvas x:Name="labelContainer"
                                                HorizontalAlignment="Stretch"
                                                VerticalAlignment="Stretch">
                                            <Canvas x:Name="renderSurface"
                                                    HorizontalAlignment="Stretch"
                                                    VerticalAlignment="Stretch">
                                                <Border x:Name="plotAreaDecoration" Style="{TemplateBinding PlotAreaStyle}" />
                                            </Canvas>
                                        </Canvas>
                                    </Canvas>
                                </Grid>
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>

chart #1:
<telerik:RadCartesianChart x:Name="DeviationChart"
                                               Grid.Row="1"
                                               HorizontalAlignment="Stretch"
                                               VerticalAlignment="Stretch"
                                               MaxZoom="{Binding MaxZoom}"
                                               MouseMove="Chart_OnMouseMove"
                                               PanOffset="{Binding PanOffset,
                                                                   Mode=TwoWay}"
                                               Style="{StaticResource ChartStyle}"
                                               Zoom="{Binding Zoom,
                                                              Mode=TwoWay}">
 
                        <telerik:ScatterAreaSeries x:Name="DeviationSeries"
                                                   Fill="{Binding DeviationFillColor}"
                                                   ItemsSource="{Binding DeviationPoints}"
                                                   Opacity="{Binding DeviationOpacity}"
                                                   Stroke="{Binding DeviationColor}"
                                                   StrokeMode="AllButPlotLine"
                                                   StrokeThickness="{Binding DeviationThickness}"
                                                   Tag="{Binding Path=Settings.PressureEU,
                                                                 Converter={StaticResource PressureEUConverter}}"
                                                   XValueBinding="X"
                                                   YValueBinding="Y">                           
                        </telerik:ScatterAreaSeries>
  <!-- ... -->
                        <telerik:RadCartesianChart.HorizontalAxis>
                            <telerik:LinearAxis x:Name="DeviationChartHorizontalAxis"
                                                MajorTickStyle="{StaticResource TopChartTickStyle}"
                                                Maximum="{Binding Path=ChartSettings.ChartMaxX}"
                                                Minimum="{Binding Path=ChartSettings.ChartMinX}"
                                                ShowLabels="False"
                                                Visibility="Collapsed" />
                        </telerik:RadCartesianChart.HorizontalAxis>
 
                        <telerik:RadCartesianChart.VerticalAxis>
                            <telerik:LinearAxis x:Name="DeviationChartVerticalAxis"
                                                Title="{Binding Path=PressureBaseEUText}"
                                                LabelFormat="N2"
                                                LastLabelVisibility="Visible"
                                                Maximum="{Binding DeviationChartSettings.ChartMaxY}"
                                                Minimum="{Binding DeviationChartSettings.ChartMinY}"
                                                Style="{StaticResource LinearAxisStyle}" />
                        </telerik:RadCartesianChart.VerticalAxis>
 
                        <telerik:RadCartesianChart.Grid>
                            <telerik:CartesianChartGrid MajorXLinesRenderMode="All"
                                                        MajorYLinesRenderMode="All"
                                                        StripLinesVisibility="None"
                                                        Style="{StaticResource CartesianChartGridStyle}" />
                        </telerik:RadCartesianChart.Grid>
 
                        <telerik:RadCartesianChart.Behaviors>
                            <telerik:ChartPanAndZoomBehavior PanMode="Both" ZoomMode="Both" />
                            <telerik:ChartTrackBallBehavior ShowIntersectionPoints="False"
                                                            ShowTrackInfo="True"
                                                            SnapMode="None" />
                        </telerik:RadCartesianChart.Behaviors>
 
                    </telerik:RadCartesianChart>


chart #2:
<telerik:RadCartesianChart x:Name="Chart"
                                           Grid.Row="1"
                                           MaxZoom="{Binding MaxZoom}"
                                           MouseMove="Chart_OnMouseMove"
                                           PanOffset="{Binding PanOffset,
                                                               Mode=TwoWay}"
                                           Style="{StaticResource ChartStyle}"
                                           Zoom="{Binding Zoom,
                                                          Mode=TwoWay}">
 
                    <telerik:ScatterAreaSeries x:Name="ElevationSeries"
                                               Fill="{Binding ElevationFillColor}"
                                               ItemsSource="{Binding RealElevationsPoints}"
                                               Opacity="{Binding ElevationOpacity}"
                                               Stroke="{Binding ElevationColor}"
                                               StrokeMode="AllButPlotLine"
                                               StrokeThickness="{Binding ElevationThickness}"
                                               XValueBinding="X"
                                               YValueBinding="Y">
                        <telerik:ScatterLineSeries.LegendSettings>
                            <telerik:SeriesLegendSettings Title="{Binding ElevationDescription}" />
                        </telerik:ScatterLineSeries.LegendSettings>
  <!-- ... -->
                        <telerik:ScatterLineSeries.TrackBallInfoTemplate>
                            <DataTemplate>
                                <Border Background="#FFEBEBEB">
                                    <TextBlock Text="{Binding Path=DataPoint.XValue, StringFormat=\{0:N3\}}" />
                                </Border>
                            </DataTemplate>
                        </telerik:ScatterLineSeries.TrackBallInfoTemplate>
                    </telerik:ScatterAreaSeries>
 
                    <telerik:RadCartesianChart.HorizontalAxis>
                        <telerik:LinearAxis x:Name="ChartHorizontalAxis"
                                            LabelFormat="N0"
                                            Maximum="{Binding Path=ChartSettings.ChartMaxX}"
                                            Minimum="{Binding Path=ChartSettings.ChartMinX}"
                                            Style="{StaticResource LinearAxisStyle}" />
                    </telerik:RadCartesianChart.HorizontalAxis>
 
                    <telerik:RadCartesianChart.VerticalAxis>
                        <telerik:LinearAxis x:Name="ChartVerticalAxis"
                                            HorizontalLocation="Left"
                                            LabelFormat="N2"
                                            Maximum="{Binding ChartSettings.ChartMaxY}"
                                            Minimum="{Binding ChartSettings.ChartMinY}"
                                            Style="{StaticResource LinearAxisStyle}" />
                    </telerik:RadCartesianChart.VerticalAxis>
 
                    <telerik:RadCartesianChart.Grid>
                        <telerik:CartesianChartGrid MajorXLinesRenderMode="All"
                                                    MajorYLinesRenderMode="All"
                                                    StripLinesVisibility="None"
                                                    Style="{StaticResource CartesianChartGridStyle}" />
                    </telerik:RadCartesianChart.Grid>
 
                    <telerik:RadCartesianChart.Behaviors>
                        <telerik:ChartPanAndZoomBehavior PanMode="Both" ZoomMode="Both" />
                        <telerik:ChartTrackBallBehavior ShowIntersectionPoints="False"
                                                        ShowTrackInfo="True"
                                                        SnapMode="None" />
                    </telerik:RadCartesianChart.Behaviors>
 
                </telerik:RadCartesianChart>

Code:
public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();
 
            if (!Chart.IsTemplateApplied) Chart.ApplyTemplate();
            if (!DeviationChart.IsTemplateApplied) DeviationChart.ApplyTemplate();
 
            var chartpad = Chart.Template.FindName("plotAreaDecoration", Chart) as Border;
            var deviationpad = DeviationChart.Template.FindName("plotAreaDecoration", DeviationChart) as Border;
 
            if (null != chartpad && null != deviationpad)
            {
                chartpad.SizeChanged += (sender, args) =>
                    {
                        // Set position of left edge of chart #1 relative to chart #2
                        object left = chartpad.GetValue(Canvas.LeftProperty);
                        deviationpad.SetValue(Canvas.LeftProperty, left);
                        // Set width of chart #1 relative to chart #2
                        object width = chartpad.GetValue(WidthProperty);
                        deviationpad.SetValue(WidthProperty, width);
                    };
            }
        }
But this doesn't work. Any ideas? Best regards, George.
Petar Marchev
Telerik team
 answered on 08 May 2013
1 answer
151 views
Hi 

I am working on the functionality having ChartView inside RadTileView. We are displaying a lot of charts in tiles.
The problem I am facing is when the Tile is restored, I want to remove all the legends and wants to show only chart. And again when the tile is maximized I want to display entire chart with legends.

I am attaching a image for better understaing.

Another problem is that when the chart is restored, the font size of Legends are not decreasing accordingly.

For RadTileViewItem: MinimizedHeight = 125, RestoredHeight=25. But when I restored the Tile, I am expecting the font size on chart to reduced by 80%.

Can you please help me in that.

I have created another but somehow it was not working
http://www.telerik.com/community/forums/wpf/charting-kit/chartview-legend-visibility.aspx
Ves
Telerik team
 answered on 08 May 2013
16 answers
1.1K+ views
Hallo,

I'm using the RadGridView for our business applications.
But our users are complaining that the data will not be loaded quickly.
So I've made ​​some comparative tests with a regular DataGrid and found out that the DataGrid binds data much faster than the RadGridView.

Loadingtime of 50000 Datarows with 8 Columns: 17 miliseconcs.
Binding to a DataGrid: 120 milliseconds. Used Memory: 7 MByte.
Binding to a RadGridView: 4 seconds. Used Memory: 51 MByte.

Are there any settings in RadGridView to get the same performance as a DataGrid?

I used following xaml for the RadGridView:

<telerik:RadGridView x:Name="RadGridView1" ShowGroupPanel="False" CanUserResizeColumns="False"  CanUserFreezeColumns="False" ItemsSource="{Binding Items, Source={StaticResource model}, Mode=OneWay}" IsReadOnly="True" AutoGenerateColumns="false"  DataLoadMode="Asynchronous" IsFilteringAllowed="False" >
           <telerik:RadGridView.Columns>
               <telerik:GridViewDataColumn DataMemberBinding="{Binding ID}" />
               <telerik:GridViewDataColumn DataMemberBinding="{Binding Col2}" />
               <telerik:GridViewDataColumn DataMemberBinding="{Binding Col3}" />
               <telerik:GridViewDataColumn DataMemberBinding="{Binding Col4}" />
               <telerik:GridViewDataColumn DataMemberBinding="{Binding Col5}" />
               <telerik:GridViewDataColumn DataMemberBinding="{Binding Col6}" />
               <telerik:GridViewDataColumn DataMemberBinding="{Binding Col7}" />
           </telerik:RadGridView.Columns>
       </telerik:RadGridView>

and following for the DataGrid:
<DataGrid ItemsSource="{Binding Items, Source={StaticResource model}}" RowHeight="25" CellStyle="{StaticResource Test}" />
Jc
Top achievements
Rank 1
 answered on 08 May 2013
1 answer
127 views
Hi,

i use the ContentTemplateSelector property of the RadTabControl. This way i can define different DataTemplates.

I created a property in my TabViewModel class called Content and based on its value I am selecting different DataTemplates. I also defined the different DataTemplates in the App.xaml file.

Now I want to change the Header of the TabItem out of the UserControl. And this is the problem, how do I solve this problem?

thanks
best regrads
rene
Petar Mladenov
Telerik team
 answered on 07 May 2013
8 answers
271 views
Hi,

is it possible to show/hide the GridLines via condition? So if condition is true, then show horizontal Gridline, if not, then hide it?
Want to make it, because Merging is not as possible as in older Application (take a look at attachment).

Or is there any other solution to show grid as attachment with WPF RadGridView?

Best regards,

David
Dimitrina
Telerik team
 answered on 07 May 2013
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?