Hi all.
I need to sync position and width for two RadCartesianChart's.
XAML:
style definition for chart's:<Stylex:Key="ChartStyle"TargetType="telerik:RadCartesianChart"><SetterProperty="Template"><Setter.Value><ControlTemplateTargetType="{x:Type telerik:RadChartBase}"><BorderBackground="{TemplateBinding Background}"BorderBrush="{TemplateBinding BorderBrush}"BorderThickness="{TemplateBinding BorderThickness}"><Grid><ContentPresenterx:Name="emptyContent"HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"VerticalAlignment="{TemplateBinding VerticalContentAlignment}"Content="{TemplateBinding EmptyContent}"ContentTemplate="{TemplateBinding EmptyContentTemplate}"IsHitTestVisible="False"Visibility="Collapsed"/><Canvasx:Name="adornerContainer"HorizontalAlignment="Stretch"VerticalAlignment="Stretch"Background="Transparent"><Canvasx:Name="labelContainer"HorizontalAlignment="Stretch"VerticalAlignment="Stretch"><Canvasx:Name="renderSurface"HorizontalAlignment="Stretch"VerticalAlignment="Stretch"><Borderx:Name="plotAreaDecoration"Style="{TemplateBinding PlotAreaStyle}"/></Canvas></Canvas></Canvas></Grid></Border></ControlTemplate></Setter.Value></Setter></Style>
chart #1:<telerik:RadCartesianChartx: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:ScatterAreaSeriesx:Name="DeviationSeries"Fill="{Binding DeviationFillColor}"ItemsSource="{Binding DeviationPoints}"Opacity="{Binding DeviationOpacity}"Stroke="{Binding DeviationColor}"StrokeMode="AllButPlotLine"StrokeThickness="{Binding DeviationThickness}"Tag="{BindingPath=Settings.PressureEU,Converter={StaticResource PressureEUConverter}}"XValueBinding="X"YValueBinding="Y"></telerik:ScatterAreaSeries><!-- ... --><telerik:RadCartesianChart.HorizontalAxis><telerik:LinearAxisx: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:LinearAxisx: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:CartesianChartGridMajorXLinesRenderMode="All"MajorYLinesRenderMode="All"StripLinesVisibility="None"Style="{StaticResource CartesianChartGridStyle}"/></telerik:RadCartesianChart.Grid><telerik:RadCartesianChart.Behaviors><telerik:ChartPanAndZoomBehaviorPanMode="Both"ZoomMode="Both"/><telerik:ChartTrackBallBehaviorShowIntersectionPoints="False"ShowTrackInfo="True"SnapMode="None"/></telerik:RadCartesianChart.Behaviors></telerik:RadCartesianChart>
chart #2:<telerik:RadCartesianChartx: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:ScatterAreaSeriesx: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:SeriesLegendSettingsTitle="{Binding ElevationDescription}"/></telerik:ScatterLineSeries.LegendSettings><!-- ... --><telerik:ScatterLineSeries.TrackBallInfoTemplate><DataTemplate><BorderBackground="#FFEBEBEB"><TextBlockText="{Binding Path=DataPoint.XValue, StringFormat=\{0:N3\}}"/></Border></DataTemplate></telerik:ScatterLineSeries.TrackBallInfoTemplate></telerik:ScatterAreaSeries><telerik:RadCartesianChart.HorizontalAxis><telerik:LinearAxisx:Name="ChartHorizontalAxis"LabelFormat="N0"Maximum="{Binding Path=ChartSettings.ChartMaxX}"Minimum="{Binding Path=ChartSettings.ChartMinX}"Style="{StaticResource LinearAxisStyle}"/></telerik:RadCartesianChart.HorizontalAxis><telerik:RadCartesianChart.VerticalAxis><telerik:LinearAxisx:Name="ChartVerticalAxis"HorizontalLocation="Left"LabelFormat="N2"Maximum="{Binding ChartSettings.ChartMaxY}"Minimum="{Binding ChartSettings.ChartMinY}"Style="{StaticResource LinearAxisStyle}"/></telerik:RadCartesianChart.VerticalAxis><telerik:RadCartesianChart.Grid><telerik:CartesianChartGridMajorXLinesRenderMode="All"MajorYLinesRenderMode="All"StripLinesVisibility="None"Style="{StaticResource CartesianChartGridStyle}"/></telerik:RadCartesianChart.Grid><telerik:RadCartesianChart.Behaviors><telerik:ChartPanAndZoomBehaviorPanMode="Both"ZoomMode="Both"/><telerik:ChartTrackBallBehaviorShowIntersectionPoints="False"ShowTrackInfo="True"SnapMode="None"/></telerik:RadCartesianChart.Behaviors></telerik:RadCartesianChart>
Code:But this doesn't work. Any ideas? Best regards, George.publicoverridevoidOnApplyTemplate(){base.OnApplyTemplate();if(!Chart.IsTemplateApplied) Chart.ApplyTemplate();if(!DeviationChart.IsTemplateApplied) DeviationChart.ApplyTemplate();var chartpad = Chart.Template.FindName("plotAreaDecoration", Chart)asBorder;var deviationpad = DeviationChart.Template.FindName("plotAreaDecoration", DeviationChart)asBorder;if(null!= chartpad &&null!= deviationpad){chartpad.SizeChanged += (sender, args) =>{// Set position of left edge of chart #1 relative to chart #2objectleft = chartpad.GetValue(Canvas.LeftProperty);deviationpad.SetValue(Canvas.LeftProperty, left);// Set width of chart #1 relative to chart #2objectwidth = chartpad.GetValue(WidthProperty);deviationpad.SetValue(WidthProperty, width);};}}
<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><DataGrid ItemsSource="{Binding Items, Source={StaticResource model}}" RowHeight="25" CellStyle="{StaticResource Test}" />I have managed to set up a PRISM region within the radRibbonView.RadRibbonTab which then has radRibbonGroup's loaded in from the modules containing the buttons for that module. All good so far, however the modules donot load in the order which the radribbongroups need to appear in the tab.
I have tried using the radOrderedwrappanel in conjunction with the groupvariant priority as per snippit below to provide a solution with no luck. Is there a way of doing this or will I have to look into custom loading order of the modules?
I ahve also added a custom regionAdaptor which seems to be working fine to allow the radribbongroups to be loaded into the orderedwrappanel. However the ordering and sizing didnt work - it started wrapping after 3 ribbonGroups and it didnt order the groups correctly.
<telerik:RadRibbonGroup Header=" Order Search "> <telerik:RadRibbonGroup.Variants> <telerik:GroupVariant Priority="2" Variant="Large"/> </telerik:RadRibbonGroup.Variants> <telerik:RadOrderedWrapPanel> <telerik:RadRibbonButton LargeImage="/Icons/48/Search.png" Size="Large" telerik:ScreenTip.Title="Order Search"/> </telerik:RadOrderedWrapPanel> </telerik:RadRibbonGroup>--- OnRowDragOvervar details = DragDropPayloadManager.GetDataFromObject(e.Data, "DropDetails") as DropIndicationDetails;--- OnDropvar draggedItem = DragDropPayloadManager.GetDataFromObject(e.Data, "DraggedItem");var details = DragDropPayloadManager.GetDataFromObject(e.Data, "DropDetails") as DropIndicationDetails;