We've seen a crash in our application when the RadMap control is disposed. We've only seen the crash once but have been unable to reproduce. The stack trace is as follows:
Telerik.Windows.Controls.DataVisualization : System.NullReferenceException
Object reference not set to an instance of an object.at Telerik.Windows.Controls.Map.Location.PixelToLogical(RadMap mapControl, Point pixel, Boolean useTileLayer)
at Telerik.Windows.Controls.Map.Location.PixelToLogical(RadMap mapControl, Point pixel, Boolean useTileLayer)at Telerik.Windows.Controls.Map.MapMouseLocationIndicator.MapControl_MouseMove(Object sender, MouseEventArgs e)at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)at System.Windows.Input.InputManager.ProcessStagingArea()at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)at System.Windows.Application.RunDispatcher(Object ignore)at System.Windows.Application.RunInternal(Window window)at CNL.IPSecurityCenter.WindowsClient.App.Main()We're currently using version 2017.2.614.45. Looking at the Telerik code it seems like the mouse event handler for MapMouseLocationIndicator doesn't get detached when RadMap is disposed. Is it possible there's some race condition that allows a mouse event to be processed in MapMouseLocationIndicator after its RadMap property has been set to null (which does happen when RadMap is disposed)?
Thanks
Pete
We are having an issue with the CellStyleSelector randomly changing the style when scrolling left and right in the GridView.
We have it narrowed down to our comparison in the StyleSelector code. We need to compare the cell value to the Min and Max columns to see if it is within the range. If it is, set the style to Valid, if not set it to Invalid.
This works on loading of the grid, but the scrolling causes it to glitch.
Code where the value of comparison (cell) changes and causes glitch:
public class ValidationStyle : StyleSelector{ public override Style SelectStyle(object item, DependencyObject container) { if (item is ExpandoObject) { var inspection = (IDictionary<string, object>)item; var cell = container.GetValue(GridViewCell.ValueProperty); if (!(cell == null || cell.ToString() == "")) { double.TryParse(cell.ToString(), out double cellValue); inspection.TryGetValue("Max", out object maxValue); inspection.TryGetValue("Min", out object minValue); if ((double)minValue <= cellValue && cellValue <= (double)maxValue) { return Valid; } else { return Invalid; } } } return null; } public Style Valid { get; set; } public Style Invalid { get; set; }}
Code example using a fixed value of comparison (cell) and does not glitch:
public class ValidationStyle : StyleSelector{ public override Style SelectStyle(object item, DependencyObject container) { if (item is ExpandoObject) { var inspection = (IDictionary<string, object>)item; int? cell = 1; if (!(cell == null || cell.ToString() == "")) { double.TryParse(cell.ToString(), out double cellValue); inspection.TryGetValue("Max", out object maxValue); inspection.TryGetValue("Min", out object minValue); if ((double)minValue <= cellValue && cellValue <= (double)maxValue) { return Valid; } else { return Invalid; } } } return null; } public Style Valid { get; set; } public Style Invalid { get; set; }}
We have poured over these forums and every example for StyleSelector uses a fixed value for comparison.
We have applied this concept to the NegativeStyleSelector.zip in this forum and it also glitches: https://www.telerik.com/forums/apply-cellstyleselector-in-code-behind
Any help would be appreciated!
Thanks!
I am getting a strange error on a customer PC with RadGlyph's. They have a vanilla Win7 box with .Net 4.5.1, any idea what might cause this? It works fine on my Win7 machine so I'm not sure where to look.
System.Windows.Markup.XamlParseException: Set property 'Telerik.Windows.Controls.RadGlyph.Glyph' threw an exception. ---> System.IO.FileFormatException: Input file or data stream does not conform to the expected file format specification.<br> at MS.Internal.Text.TextInterface.Native.Util.ConvertHresultToException(Int32 hr)<br> at MS.Internal.Text.TextInterface.Font.CreateFontFace()<br> at MS.Internal.Text.TextInterface.Font.AddFontFaceToCache()<br> at MS.Internal.Text.TextInterface.Font.GetFontFace()<br> at System.Windows.Media.GlyphTypeface..ctor(Font font)<br> at MS.Internal.FontFace.PhysicalFontFamily.GetGlyphTypeface(FontStyle style, FontWeight weight, FontStretch stretch)<br> at MS.Internal.FontFace.PhysicalFontFamily.MS.Internal.FontFace.IFontFamily.GetTypefaceMetrics(FontStyle style, FontWeight weight, FontStretch stretch)<br> at System.Windows.Media.Typeface.ConstructCachedTypeface()<br> at System.Windows.Media.Typeface.get_CachedTypeface()<br> at System.Windows.Media.Typeface.CheckFastPathNominalGlyphs(CharacterBufferRange charBufferRange, Double emSize, Double scalingFactor, Double widthMax, Boolean keepAWord, Boolean numberSubstitution, CultureInfo cultureInfo, TextFormattingMode textFormattingMode, Boolean isSideways, Boolean breakOnTabs, Int32& stringLengthFit)<br> at MS.Internal.TextFormatting.SimpleRun.CreateSimpleTextRun(CharacterBufferRange charBufferRange, TextRun textRun, TextFormatterImp formatter, Int32 widthLeft, Boolean emergencyWrap, Boolean breakOnTabs)<br> at MS.Internal.TextFormatting.SimpleRun.Create(FormatSettings settings, CharacterBufferRange charString, TextRun textRun, Int32 cp, Int32 cpFirst, Int32 runLength, Int32 widthLeft, Int32 idealRunOffsetUnRounded)<br> at MS.Internal.TextFormatting.SimpleTextLine.Create(FormatSettings settings, Int32 cpFirst, Int32 paragraphWidth)<br> at MS.Internal.TextFormatting.TextFormatterImp.FormatLineInternal(TextSource textSource, Int32 firstCharIndex, Int32 lineLength, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak, TextRunCache textRunCache)<br> at MS.Internal.TextFormatting.TextFormatterImp.FormatLine(TextSource textSource, Int32 firstCharIndex, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak)<br> at System.Windows.Media.FormattedText.LineEnumerator.FormatLine(TextSource textSource, Int32 textSourcePosition, Double maxLineLength, TextParagraphProperties paraProps, TextLineBreak lineBreak)<br> at System.Windows.Media.FormattedText.LineEnumerator.MoveNext()<br> at System.Windows.Media.FormattedText.DrawAndCalculateMetrics(DrawingContext dc, Point drawingOffset, Boolean getBlackBoxMetrics)<br> at System.Windows.Media.FormattedText.get_Metrics()<br> at Telerik.Windows.Controls.RadGlyph.CalculateElementDesiredSize()<br> at Telerik.Windows.Controls.RadGlyph.RemeasureElement(DependencyObject d, DependencyPropertyChangedEventArgs e)<br> at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)<br> at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)<br> at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)<br> at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)<br> at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)<br> at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)<br> at System.Windows.Baml2006.WpfMemberInvoker.SetValue(Object instance, Object value)<br> at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(XamlMember member, Object obj, Object value)<br> at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)<br> --- End of inner exception stack trace ---<br> at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlReader templateReader, XamlObjectWriter currentWriter)<br> at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlObjectWriter objectWriter)<br> at System.Windows.FrameworkTemplate.LoadOptimizedTemplateContent(DependencyObject container, IComponentConnector componentConnector, IStyleConnector styleConnector, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)<br> at System.Windows.FrameworkTemplate.LoadContent(DependencyObject container, List`1 affectedChildren)<br> at System.Windows.StyleHelper.ApplyTemplateContent(UncommonField`1 dataField, DependencyObject container, FrameworkElementFactory templateRoot, Int32 lastChildIndex, HybridDictionary childIndexFromChildID, FrameworkTemplate frameworkTemplate)<br> at System.Windows.FrameworkTemplate.ApplyTemplateContent(UncommonField`1 templateDataField, FrameworkElement container)<br> at System.Windows.FrameworkElement.ApplyTemplate()<br> at System.Windows.FrameworkElement.MeasureCore(Size availableSize)<br> at System.Windows.UIElement.Measure(Size availableSize)<br> at System.Windows.Controls.Control.MeasureOverride(Size constraint)<br> at System.Windows.FrameworkElement.MeasureCore(Size availableSize)<br> at System.Windows.UIElement.Measure(Size availableSize)<br> at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)<br> at System.Windows.FrameworkElement.MeasureCore(Size availableSize)<br> at System.Windows.UIElement.Measure(Size availableSize)<br> at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)<br> at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)<br> at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)<br> at System.Windows.Controls.Grid.MeasureOverride(Size constraint)<br> at System.Windows.FrameworkElement.MeasureCore(Size availableSize)<br> at System.Windows.UIElement.Measure(Size availableSize)<br> at System.Windows.Controls.Border.MeasureOverride(Size constraint)<br> at System.Windows.FrameworkElement.MeasureCore(Size availableSize)<br> at System.Windows.UIElement.Measure(Size availableSize)<br> at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)<br> at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)<br> at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)<br> at System.Windows.Controls.Grid.MeasureOverride(Size constraint)<br> at System.Windows.FrameworkElement.MeasureCore(Size availableSize)<br> at System.Windows.UIElement.Measure(Size availableSize)<br> at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)<br> at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)<br> at System.Windows.FrameworkElement.MeasureCore(Size availableSize)<br> at System.Windows.UIElement.Measure(Size availableSize)<br> at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)<br> at System.Windows.FrameworkElement.MeasureCore(Size availableSize)<br> at System.Windows.UIElement.Measure(Size availableSize)<br> at System.Windows.Controls.Border.MeasureOverride(Size constraint)<br> at System.Windows.FrameworkElement.MeasureCore(Size availableSize)<br> at System.Windows.UIElement.Measure(Size availableSize)<br> at System.Windows.Window.MeasureOverrideHelper(Size constraint)<br> at System.Windows.Window.MeasureOverride(Size availableSize)<br> at System.Windows.FrameworkElement.MeasureCore(Size availableSize)<br> at System.Windows.UIElement.Measure(Size availableSize)<br> at System.Windows.ContextLayoutManager.UpdateLayout()<br> at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)<br> at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()<br> at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()<br> at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)<br> at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)<br> at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)<br> at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)When user clicks on X, I want to check whether there are any unsaved changes in the page.
I have isNotSaved Property which tells me that.
Now, if there are any unsaved changes, I want to show Alert window(which is in place) to confirm by user to close pane or not.
If user says Yes, I want to close, If not I dont want to close.
How can I implement this in Pure MVVM ?

Hi dear Telerik Team,
I'm just facing an issue which took me Hours to (possibly :) ) understand.
I'm using a RadialMenu via RadialContextMenu in a RadGridView. While my RadialMenu did not Hide as it was intended, I guess I can reproduce this in a simple Environment as well:
Usually RadialMenu behaves as inteded.
However if Opening the RadialMenu with MouseRightClick on a ColumnHeader (instead on one of the rows), every intend of hiding that RadialMenu via "RadialMenuCommands.Hide.Execute(null, null);" Fails.
After somehow Closing it (via rightclick on a row), it reopens, however hiding again Fails.
I have just retested in another sample: RadialMenu is especially not Hiding if you just select a cell and without causing any other Events also Right-click same GridCell to open the Radial Button. Now after leaving the RadialMenu it should hide because there is an Event on MouseLeave which is invoking RadialMenuCommands.Hide.Execute(null, null). However that does not take effect.
Am I overseing something? Can you help?
Can't attach my Code. How can I?

Hi All,
I am trying to assign an icon from my resources as follows but no icon is displayed. Can anyone help me please?
P.S. This code works elsewhere where I add the image to a canvas
Dim icon As New Image()
icon.Height = 80
icon.Width = 80
icon.Source = New BitmapImage(New Uri("Resources/monitorNoComms.png", UriKind.Relative))
alert.Foreground = New SolidColorBrush(Colors.White)
alert.BorderBrush = New SolidColorBrush(Colors.White)
alert.Header = header
alert.Content = message
alert.IconColumnWidth = 80
alert.Icon = icon
alert.CanAutoClose = autoClose
alert.BorderThickness = New Thickness(1)
manager.ShowAlert(alert)

In our application we have several comboboxes and behavior of specific one is not fine for our automation tests (Teststack.White).
Description: combobox contains two values. When application starts then visibl​​e selected value is "value1" but in code, when I call
UIItem selectedItem = combobox.SelectedItem();then selectedItem is null. When I call
combobox.Select("value1");combobox.Select(0);neither will take effect ("value1" is in combobox.Items[0] ). I need to call
combobox.Select(1);combobox.Select(0);and only now is everything ok. This will not work ​when I have single item in combobox and this solution is not what we want to have in our app. But the strangest part is that only this one combobox is behaving as is not expected.
Do you have any idea where could be a problem? If you need more specific information, don't hesitate to ask.
Thanks and regards, Martin

