or
<telerik:RadChart x:Name="RadChart1" Grid.Row="1" Grid.Column="1" UseDefaultLayout="False"> <telerik:RadChart.SamplingSettings> <telerik:SamplingSettings SamplingFunction="Average" /> </telerik:RadChart.SamplingSettings> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="10" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="10" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="10" /> <RowDefinition Height="*" /> <RowDefinition Height="100" /> <RowDefinition Height="10" /> </Grid.RowDefinitions> <Grid /> <telerik:ChartLegend x:Name="legendChart" Grid.Row="2" Grid.Column="1" Header="" ItemContainerStyle="{DynamicResource CharLegendStyle}" ItemsPanelOrientation="Horizontal" LegendItemMarkerShape="Circle" UseAutoGeneratedItems="false" /> <telerik:ChartArea x:Name="lineGraphChartArea" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" EnableAnimations="False" LegendName="legendChart"> <telerik:ChartArea.AxisX> <telerik:AxisX Title="Fecha" AutoRange="True" IsDateTime="True" Step="1" /> </telerik:ChartArea.AxisX> <telerik:ChartArea.AxisY> <telerik:AxisY Title="CMN" AutoRange="True" ExtendDirection="Up" IsZeroBased="True" /> </telerik:ChartArea.AxisY> </telerik:ChartArea> </Grid></telerik:RadChart>public SeriesMapping GenerateRandomSeries(string nameSerie,int begin) { SeriesMapping serie1 = new SeriesMapping(); serie1.ItemsSource = GenerateRandomData(begin); serie1.ChartAreaName = "lineGraphChartArea"; serie1.LegendLabel = nameSerie; ItemMapping X = new ItemMapping("Fecha", DataPointMember.XValue); ItemMapping Y = new ItemMapping("CMN", DataPointMember.YValue); serie1.ItemMappings.Add(X); serie1.ItemMappings.Add(Y); serie1.SeriesDefinition = new SplineSeriesDefinition() { }; return serie1; }public void AddSerieDefinition() { RadChart1.SeriesMappings.Add(GenerateRandomSeries("serie1",5)); RadChart1.SeriesMappings.Add(GenerateRandomSeries("serie2",10)); RadChart1.SeriesMappings.Add(GenerateRandomSeries("serie3",15)); }<telerik:RadRibbonView.ContextualGroups>
<telerik:RadRibbonContextualGroup x:Name="xCOM" IsActive="{Binding RelativeSource={RelativeSource Self}, Path=IsPortSelected}"/>
<telerik:RadRibbonContextualGroup x:Name="xCOM" IsActive="{Binding ElementName=_this, Path=IsPortSelected}"/>
<telerik:RadRibbonContextualGroup x:Name="xCOM" IsActive="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:MyRibbon}}, Path=IsPortSelected}"/>
<telerik:RadRibbonContextualGroup x:Name="xCOM" IsActive="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=IsPortSelected}"/>
</telerik:RadRibbonView.ContextualGroups>string _port = "";public string Port{ get { return _port; } set { if (_port == value) { return; } _port = value; }}public bool IsPortSelected{ get { if (String.IsNullOrEmpty(_port)) { return false; } else if (_port.Equals("Port")) { return false; } return true; } set { }}
1. Press some button and open the RadWindow with my empty RadGridView Inside
2. Without clicking anywhere, Press Ctrl + V and paste inside the RadGridView all the data that i have in the clipboard
3. that's it
I tried to set the focus to the RadGridView, but it doesnt seems to work.
Thanks.
When a property return type is ArraySegment<T> and properties are auto-generated, an exception is thrown and the control is not displayed.
My example specifically:
public class TestClass{ private readonly ArraySegment<string> _strings; public IReadOnlyList<string> Strings { get { return this._strings; } }}<Grid><Grid.Resources><local:BooleanConverterx:Key="BooleanConverter"/><local:InvBooleanConverterx:Key="InvBooleanConverter"/><local:StringToIntConverterx:Key="StringToIntConverter"/><local:StringToDblConverterx:Key="StringToDblConverter"/><local:SettingValueTemplateSelectorx:Key="SettingValueTemplateSelector"><local:SettingValueTemplateSelector.BooleanTemplate><DataTemplate><StackPanelOrientation="Horizontal"><telerik:RadRadioButtonIsChecked="{Binding Path=Value}"><TextBlockText="Enabled"/></telerik:RadRadioButton><telerik:RadRadioButtonIsChecked="{Binding Path=Value}"><TextBlockText="Disabled"/></telerik:RadRadioButton></StackPanel></DataTemplate></local:SettingValueTemplateSelector.BooleanTemplate><local:SettingValueTemplateSelector.IntTemplate><DataTemplate><telerik:RadNumericUpDownValue="{Binding Path=Value, Converter={StaticResource StringToIntConverter}}"NumberDecimalDigits="0"/></DataTemplate></local:SettingValueTemplateSelector.IntTemplate><local:SettingValueTemplateSelector.DoubleTemplate><DataTemplate><telerik:RadNumericUpDownValue="{Binding Path=Value,Converter={StaticResource StringToDblConverter}}"/></DataTemplate></local:SettingValueTemplateSelector.DoubleTemplate><local:SettingValueTemplateSelector.StringTemplate><DataTemplate><TextBlockText="{Binding Path=Value, Mode=TwoWay}"/></DataTemplate></local:SettingValueTemplateSelector.StringTemplate></local:SettingValueTemplateSelector></Grid.Resources><telerik:RadGridViewx:Name="RadGridView"GroupRenderMode="Flat"RowIndicatorVisibility="Collapsed"CanUserFreezeColumns="False"ItemsSource="{Binding ElementName=Window1, Path=List}"IsReadOnly="false"ScrollMode="Deferred"AutoExpandGroups="True"AutoGenerateColumns="false"Margin="0,2,0,-2"><telerik:RadGridView.Columns><telerik:GridViewDataColumnHeader="Value"IsGroupable="True"DataMemberBinding="{Binding Value}"CellTemplateSelector="{StaticResource SettingValueTemplateSelector}"Background="LightGray"></telerik:GridViewDataColumn><telerik:GridViewDataColumnHeader="ValueType"IsGroupable="True"DataMemberBinding="{Binding ValueType}"Background="LightGray"></telerik:GridViewDataColumn></telerik:RadGridView.Columns></telerik:RadGridView></Grid>
Template selector:publicclassSettingValueTemplateSelector : DataTemplateSelector{publicoverrideDataTemplate SelectTemplate(objectitem, DependencyObject container){if(itemisDataObjecten){DataObjecten model = itemasDataObjecten;if(model.ValueType ==typeof(int))returnthis.IntTemplate;elseif(model.ValueType ==typeof(String))returnthis.StringTemplate;elseif(model.ValueType ==typeof(double))returnthis.DoubleTemplate;elseif(model.ValueType ==typeof(bool))returnthis.BooleanTemplate;elsereturnnull;}returnnull;}}
One of the converters (basic):publicclassStringToIntConverter : IValueConverter{publicobjectConvert(objectvalue, Type targetType,objectparameter, System.Globalization.CultureInfo culture){intretValue=0;if(int.TryParse(value.ToString(),outretValue)){returnretValue;}elsereturn0;}publicobjectConvertBack(objectvalue, Type targetType,objectparameter, System.Globalization.CultureInfo culture){thrownewNotSupportedException("Do not use this converter for objects other than boolean");}}
Model:publicclassDataObject{publicobjectValue {get;set; }publicType ValueType {get;set; }}List.Add(newDataObject() { Value ="8", ValueType =typeof(int) });List.Add(newDataObject() { Value ="8", ValueType =typeof(double) });List.Add(newDataObject() { Value ="8gf", ValueType =typeof(string) });List.Add(newDataObject() { Value = 454365, ValueType =typeof(int) });List.Add(newDataObject() { Value =false, ValueType =typeof(bool) });
<DataGridTemplateColumn x:Name="amountEarnedColumn" Header="Amount Earned" Width="SizeToHeader"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <telerik:RadMaskedCurrencyInput Value="{Binding AmountEarned}" Mask="c5.2" Placeholder=" " /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <telerik:RadMaskedCurrencyInput Value="{Binding AmountEarned}" /> </DataTemplate> </DataGridTemplateColumn.CellEditingTemplate></DataGridTemplateColumn>