Telerik Forums
UI for WPF Forum
18 answers
460 views

Hello,

I want to know the number of filter values in my RadGridView.

I know that gridVariables.FilterDescriptors.Count gives me the value '0' or '1' if a filter value is selected, but, i don't find how i can get the number of selected values in the filter.

 

Thank you.

 

Valentin.

Valentin
Top achievements
Rank 2
Iron
Iron
Iron
 answered on 13 Sep 2016
1 answer
171 views

I am working on a project that takes some basic controls and some telerik wpf controls, places them on a canvas, and saves these for redisplay later. All of the controls are generated at runtime.

Whenever I attempt to save the Xaml of a RadChart, after approximately 30 seconds, the XamlWriter.Save method throws a StackOverflow exception. The problem is reproducible.

Create project referencing the .NET Framework 4.

Telerik.Window.Controls
Telerik.Window.Controls.Chart
Telerik.Window.Controls.Charting
Telerik.Window.Controls.Data
Telerik.Window.Controls.DataVisualization
Telerik.Window.Data

Place the following code on a new window:

<Canvas Name="testCanvas" Height="350" Width="525">
    <telerik:RadChart Name="testChart" Height="350" Width="525"/>
</Canvas>

Place this in code-behind:

public MainWindow()
{
    InitializeComponent();
    this.PreviewMouseDoubleClick += Window_PreviewMouseDoubleClick;
    testCanvas.Loaded += testCanvas_Loaded;
}
private void testCanvas_Loaded(object sender, RoutedEventArgs e)
{
    testChart.DefaultView.ChartLegend.UseAutoGeneratedItems = true;
    Telerik.Windows.Controls.Charting.DataSeries barSeries = new Telerik.Windows.Controls.Charting.DataSeries();
    barSeries.LegendLabel = "Expenses";
    barSeries.Definition = new Telerik.Windows.Controls.Charting.BarSeriesDefinition();
    barSeries.AddRange(new List<Telerik.Windows.Controls.Charting.DataPoint> {
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 45, XCategory = "Jan" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 48, XCategory = "Feb" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 53, XCategory = "Mar" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 41, XCategory = "Apr" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 32, XCategory = "May" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 28, XCategory = "Jun" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 63, XCategory = "Jul" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 74, XCategory = "Aug" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 77, XCategory = "Sep" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 85, XCategory = "Oct" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 89, XCategory = "Nov" },
        new Telerik.Windows.Controls.Charting.DataPoint() { YValue = 80, XCategory = "Dec" }
    });
    testChart.DefaultView.ChartArea.DataSeries.AddRange(new List<Telerik.Windows.Controls.Charting.DataSeries> { barSeries });
}
 
private void Window_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
 
    var fileName = @"c:\temp\tester.xaml";
    using (var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.Read))
    using (var xw = new XmlTextWriter(fs, System.Text.Encoding.UTF8))
    {
        xw.Formatting = Formatting.Indented;
        xw.Indentation = 4;
        xw.IndentChar = ' ';
 
        //place breakpoint here
        XamlWriter.Save(testCanvas, xw);
    }
}

Run project and then double-click the window. At the "XamlWriter.Save(testCanvas, xw)", a stackoverflow exception will eventually occur

Please let me know what I can do to correct this issue.

 

Thanks

Martin Ivanov
Telerik team
 answered on 13 Sep 2016
3 answers
149 views

I am working on a project that takes some basic controls and some telerik wpf controls, places them on a canvas, and saves these for redisplay later. All of the controls are generated at runtime.

One problem I am having is with some of the relative and scale values on all gauge controls that use the Telerik.Windows.Controls.Gauge.GaugeMeasure for storing values. instead of saving the actual value set on the property (such as 0.15*), when I save the Xaml, I get the text "Telerik.Windows.Controls.Gauge.GaugeMeasure" as the property value.

To reproduce, place the following on a wpf window:

<Border Name="meterBorder" BorderThickness="1" BorderBrush="Black" Background="White" Width="80" Height="300" CornerRadius="3">
        <telerik:RadVerticalLinearGauge Padding="5" Background="Transparent" BorderThickness="0" OuterBackground="Transparent" OuterBorderThickness="0" >
            <telerik:VerticalLinearScale Min="0" Max="1" RelativeY="0" RelativeHeight="0.9" VerticalAlignment="Center" Fill="#FF787878" StartWidth="0.015" EndWidth="0.015" MajorTickOffset="0.0" MinorTickOffset="0.0" MiddleTicks="1" MinorTicks="2" MajorTickStep="0.1" MajorTicks="10" LabelFormat="{}{0:F2}" LabelLocation="OverOutside" MajorTickLocation="Outside" Margin="10" FontSize="8" Foreground="Black" MajorTickStrokeThickness="1" MajorTickStroke="Black" MinorTickStrokeThickness="1" MinorTickStroke="Black">
                <telerik:VerticalLinearScale.Indicators>
                    <telerik:BarIndicator Name="valueIndicator" HorizontalAlignment="Left" Margin="-20,0,0,0" Value="0.5" Background="#FF7171FF" StartWidth="0.2" EndWidth="0.2" StrokeThickness="0" Width="13" />
                </telerik:VerticalLinearScale.Indicators>
                <telerik:VerticalLinearScale.Ranges>
                    <telerik:GaugeRange x:Name="LowLowIndicator"  Background="Red" StartWidth="0.05" EndWidth="0.05" Min="0" Max="0.05" IndicatorBackground="{x:Null}" />
                    <telerik:GaugeRange x:Name="LowIndicator" Background="#FFE8FF00" StartWidth="0.05" EndWidth="0.05" Min="0.05" Max="0.15" IndicatorBackground="{x:Null}" />
                    <telerik:GaugeRange x:Name="HighIndicator" Background="#FFE8FF00" StartWidth="0.05" EndWidth="0.05" Min="0.85" Max="0.95" IndicatorBackground="{x:Null}" TickBackground="{x:Null}" StrokeThickness="0" />
                    <telerik:GaugeRange x:Name="HighHighIndicator" Background="Red" StartWidth="0.05" EndWidth="0.05" Min="0.95" Max="1" IndicatorBackground="{x:Null}" />
                </telerik:VerticalLinearScale.Ranges>
            </telerik:VerticalLinearScale>
        </telerik:RadVerticalLinearGauge>
    </Border>

On top of code-behind:

using System.IO;
using System.Xml;
using System.Windows.Markup;

then in window MouseDoubleClick (or some other event) place the following to save the file:

var fileName = @"c:\temp\tester.xaml";
using (var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.Read))
using (var xw = new XmlTextWriter(fs, System.Text.Encoding.UTF8))
{
 xw.Formatting = Formatting.Indented;
 xw.Indentation = 4;
 xw.IndentChar = ' ';
 
 
 XamlWriter.Save(meterBorder, xw);
}

throughout the saved Xaml, there will be numerous Telerik.Windows.Controls.Gauge.GaugeMeasure where values should be. Is this a bug in the Telerik controls, or is there some way for me to properly save the correct values for the telerik controls?

 

Thanks

Thanks

Martin Ivanov
Telerik team
 answered on 13 Sep 2016
3 answers
236 views

Hi,

I'm using: 

<telerikScheduleView:RadScheduleView x:Name="ScheduleView"...

 

and we have the custom localization going for Swedish, but I can't find the resource keys for the individual week days that you can see in Week view mode.

 

               case "Day":
                    return "Day[ENG]";
                case "Week":
                    return "Week[ENG]";
                case "Monday":
                    return "?????";

 

...in the end we need keys for ALL of the text strings, not just the subset as listed in:

http://docs.telerik.com/devtools/wpf/controls/radscheduleview/localization#radscheduleview-resource-keys

 

Thanks,

 

Barry

Yana
Telerik team
 answered on 13 Sep 2016
2 answers
129 views

Hi, i test the sample:

Grouping By TimeMarker in the Sdk. (Trial versione 2016 Q2)

But i have this problem:

1) Run the sample and the scheduler view it's OK (image1)

2) Resize the window and the grid of the scheduler is wrong (image2)

 

Thanks

Aurelio


Aurelio Righetti
Top achievements
Rank 1
 answered on 13 Sep 2016
1 answer
335 views

Hi Team,

I am using radgridview telerik control and I am getting some issue when doing filtering in radgirdview control. please see details below

Suppose I have selected some item in radgridview list and after that if I click filter option and do some filtered and after that I reverted back my filtered option,

then in radgridview list I have all items again but whatever I selected earlier is not persisted. 

 So is their any way to persist my selected item ?

Thanks

Stefan
Telerik team
 answered on 12 Sep 2016
2 answers
277 views

I have a RadCartesianChart with a DateTimeContinuousAxis and a ChartCrosshairBehavior.

When the vertical line label shows – it displays the date/time. I want to display other data from the chart too – but even when I use a template for the label definition – the only DataContext I can access is the datetime. 

Is there a way to customize the label definition - to include data from other sources? 

/Flemming Rosenbrandt

 

Flemming
Top achievements
Rank 1
 answered on 12 Sep 2016
3 answers
338 views

Hi to all,

I have a serious problem, after apply theme, I can't run project.

I received this error.

More information: 'An exception was thrown when the specification of a value of' System.Windows.Markup.StaticResourceHolder '.' line number '47' and row position '33'.

I tryed to remove all data about theme, nothing.

How can I get out to this problem?

Dario Concilio
Top achievements
Rank 2
 answered on 12 Sep 2016
3 answers
182 views

In Microsoft Word and other text editors there is a ability which stretches the text horizontally. How should I do so in RadRichTextBox in WPF Apps.

Thanks

Boyko
Telerik team
 answered on 12 Sep 2016
3 answers
643 views

Hello. I try to set the scale of RadCartesianChart.LinearAxis and I can't. How I try to do it, please see the following. Below is XAML of the RadCartesianChart:

<!--Sound velocity [meter/second] chart for each ultrasonic beam.-->
<telerik:RadCartesianChart Visibility="{Binding IsAbsoluteSplineChartVisible}">
    <telerik:RadCartesianChart.HorizontalAxis>
        <telerik:DateTimeContinuousAxis MajorStepUnit="Second" LabelInterval="5" LabelFormat="hh:mm:ss" FontFamily="Segoe UI" PlotMode="OnTicks" TickOrigin="{Binding AlignmentDate}"/>
    </telerik:RadCartesianChart.HorizontalAxis>
    <telerik:RadCartesianChart.VerticalAxis>
       <telerik:LinearAxis FontFamily="Segoe UI" Title="Meters per second [m/s]" Minimum="{Binding ChartMinimum}" Maximum="{Binding ChartMaximum}"/>
    </telerik:RadCartesianChart.VerticalAxis>
    <!--Provider for each series-->
    <telerik:RadCartesianChart.SeriesProvider>
       <telerik:ChartSeriesProvider Source="{Binding SeriesData}">
          <telerik:ChartSeriesProvider.SeriesDescriptors>
             <telerik:CategoricalSeriesDescriptor CategoryPath="Category" ValuePath="Value" ItemsSourcePath="ChartPoints">
                 <telerik:CategoricalSeriesDescriptor.TypeConverter>
                     <local:SeriesTypeConverter/>
                 </telerik:CategoricalSeriesDescriptor.TypeConverter>
             </telerik:CategoricalSeriesDescriptor>
          </telerik:ChartSeriesProvider.SeriesDescriptors>
       </telerik:ChartSeriesProvider>
    </telerik:RadCartesianChart.SeriesProvider>
    <!--Zooming and Panning-->
    <telerik:RadCartesianChart.Behaviors>
       <telerik:ChartPanAndZoomBehavior ZoomMode="Vertical"  PanMode="Vertical"/>
    </telerik:RadCartesianChart.Behaviors>
</telerik:RadCartesianChart>

Below is handler of ticks of sound velocity values polling timer.

private void Timer_Tick(object sender, EventArgs e)
{
    // Сharts filling:
    // get minimal value of sound velocity,
    double min_1_2 = Math.Min(GlobalStaticMembers.FirstBeamSoundVelocity, GlobalStaticMembers.SecondBeamSoundVelocity);
    double min_3_4 = Math.Min(GlobalStaticMembers.ThirdBeamSoundVelocity, GlobalStaticMembers.FourthBeamSoundVelocity);
    this.ChartMinimum = Math.Floor(Math.Min(min_1_2, min_3_4));
    // get maximal value of sound velocity,
    double max_1_2 = Math.Max(GlobalStaticMembers.FirstBeamSoundVelocity, GlobalStaticMembers.SecondBeamSoundVelocity);
    double max_3_4 = Math.Max(GlobalStaticMembers.ThirdBeamSoundVelocity, GlobalStaticMembers.FourthBeamSoundVelocity);
    this.ChartMaximum = Math.Ceiling(Math.Max(max_1_2, max_3_4));
    // adjust the value of the time on X-axis,
    this._currentDate = this._currentDate.AddMilliseconds(TIMER_INTERVAL);
    this.SeriesData.SuspendNotifications();
    // get the first beam chart new point where newPoint.Value is sound velocity itself,
    ChartPoint newPoint = new ChartPoint();
    newPoint.Value = GlobalStaticMembers.FirstBeamSoundVelocity;
    newPoint.Category = this._currentDate;
    if (this.SeriesData[0].ChartPoints.Count > 50)
        this.SeriesData[0].ChartPoints.RemoveAt(0);
    this.SeriesData[0].ChartPoints.Add(newPoint);
    // get the second beam chart new point where newPoint.Value is sound velocity itself,
    newPoint = new ChartPoint();
    newPoint.Value = GlobalStaticMembers.SecondBeamSoundVelocity;
    newPoint.Category = this._currentDate;
    if (this.SeriesData[1].ChartPoints.Count > 50)
        this.SeriesData[1].ChartPoints.RemoveAt(0);
    this.SeriesData[1].ChartPoints.Add(newPoint);
    // get the third beam chart new point where newPoint.Value is sound velocity itself,
    newPoint = new ChartPoint();
    newPoint.Value = GlobalStaticMembers.ThirdBeamSoundVelocity;
    newPoint.Category = this._currentDate;
    if (this.SeriesData[2].ChartPoints.Count > 50)
        this.SeriesData[2].ChartPoints.RemoveAt(0);
    this.SeriesData[2].ChartPoints.Add(newPoint);
    // get the fourth beam chart new point where newPoint.Value is sound velocity itself.
    newPoint = new ChartPoint();
    newPoint.Value = GlobalStaticMembers.FourthBeamSoundVelocity;
    newPoint.Category = this._currentDate;
    this.SeriesData[3].ChartPoints.Add(newPoint);
    if (this.SeriesData[3].ChartPoints.Count > 50)
        this.SeriesData[3].ChartPoints.RemoveAt(0);
    this.SeriesData.ResumeNotifications();
}

Below is ChartMinimum and ChartMaximum properties definitions:

public double ChartMinimum
{
   get { return this._chartMinimum; }
   set { this.SetProperty(ref this._chartMinimum, value); }
}
 
public double ChartMaximum
{
   get { return this._chartMaximum; }
   set { this.SetProperty(ref this._chartMaximum, value); }
}

Below is ChartPoint class definition:

/// <summary>
/// Point for spline series.
/// </summary>
public class ChartPoint
{
    private double _value;
    private DateTime _category;
    public ChartPoint() { }
    public ChartPoint(DateTime category, double value)
    {
        this.Category = category;
        this.Value = value;
    }
    public double Value
    {
        get { return this._value; }
        set { this._value = value; }
    }
    public DateTime Category
    {
        get { return this._category; }
        set { this._category = value; }
    }
}

Below is the collection containing all series. This collection is used as datasource for telerik:ChartSeriesProvider.

/// <summary>
/// Gets or sets the collection containing series.
/// </summary>
public RadObservableCollection<SeriesModel> SeriesData { get; set; }

And below is SeriesModel class definition:

/// <summary>
/// The model of series (chart's curve).
/// </summary>
public class SeriesModel
{
    #region Constructors
    public SeriesModel() { }
    public SeriesModel(RadObservableCollection<ChartPoint> chartPoints, string seriesType = "Spline")
    {
        this.ChartPoints = chartPoints;
        this.SeriesType = seriesType;
    }
    #endregion
 
    #region Properties
 
    /// <summary>
    /// Series type
    /// </summary>
    public string SeriesType { get; set; }
    /// <summary>
    /// Series points collection.
    /// </summary>
    public RadObservableCollection<ChartPoint> ChartPoints { get; set; }
 
    #endregion
}

I also show you the converter definition:

/// <summary>
/// Series type converter.
/// </summary>
public class SeriesTypeConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        SeriesModel seriesItem = value as SeriesModel;
 
        if (seriesItem.SeriesType == "Spline")
        {
            return typeof(SplineSeries);
        }
        else if (seriesItem.SeriesType == "Line")
        {
            return typeof(LineSeries);
        }
        else
        {
            return typeof(BarSeries);
        }
    }
 
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        /*throw new NotImplementedException()*/return null;
    }
}

As you know, the value of sound is hundreds of meters per second. Say, for example, 345.55 meters per second (I especially take the value with  hundredths of a meter). The value of sound velocity in a good flowmeter can varies from a few hundredths to a tenth of a meter not more. So, each timer tick, I take four sound velocity values (because the flowmeter has four ultrasonic beams), find minimal value of them and take floor for this value (Math.Floor). Then I find maximal value of these four velocity values and take ceiling for this maximal value (Math.Ceiling). So I'd like to limit the vertical axis by these minimum and maximum (ChartMinimum and ChartMaximum properties). But unfortunately I can't. Supports only the maximum (please see 'SoundVelocity.PNG' file attached and 'SoundVelocity2.PNG file attached, the second one has zoomed in chart). Minimum is not supported. Why? The folowing is What I need. So. I need that the vertical axis limited by minimum and maximum and with MajorStep == 0.01. For example, if minimal value of sound velocity (obtained on timer tick) is 325.7 then limiting minimum of vertical axis must be 325, if maximal value of the sound velocity obtained is, for example, 326.2 then limiting maximum of vertical axis must be 327. So in this case the vertical axis must be from 325 to 327 with MajorStep == 0.01 (!!! but not from 0 to 327 with MajorStep==0.01 !!!). Is this possible to do ofcourse. If yes, please show me how it can be implemented. Thank you very much in advance.

P.S. If you need some aditional information for answering on this my post, please write me.

Dmitry
Top achievements
Rank 1
 answered on 12 Sep 2016
Narrow your results
Selected tags
Tags
GridView
General Discussions
Chart
RichTextBox
Docking
ScheduleView
ChartView
TreeView
Diagram
Map
ComboBox
TreeListView
Window
RibbonView and RibbonWindow
PropertyGrid
DragAndDrop
TabControl
TileView
Carousel
DataForm
PDFViewer
MaskedInput (Numeric, DateTime, Text, Currency)
AutoCompleteBox
DatePicker
Buttons
ListBox
GanttView
PivotGrid
Spreadsheet
Gauges
NumericUpDown
PanelBar
DateTimePicker
DataFilter
Menu
ContextMenu
TimeLine
Calendar
Installer and Visual Studio Extensions
ImageEditor
BusyIndicator
Expander
Slider
TileList
DataPager
PersistenceFramework
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
NavigationView (Hamburger Menu)
Wizard
ExpressionEditor
WatermarkTextBox
DesktopAlert
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
LayoutControl
ProgressBar
Sparkline
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
Licensing
WebCam
CardView
DataBar
FilePathPicker
Callout
PasswordBox
SplashScreen
Localization
Rating
Accessibility
CollectionNavigator
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Top users last month
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?