Telerik Forums
UI for WPF Forum
1 answer
166 views
We have a RadGridView that's data-bound to a DataView (via ItemsSource). The DataTable can have 1 million records or more and we're sometimes experiencing out-of-memory errors, and memory never seems to be freed. Typical column count for our grid is anywhere from 10 or so to maybe 20+. The more columns, the worse, of course.

The grid is on a WPF UserControl that's hosted inside a WinForms form, in case that makes a difference, and it's set up to auto-generate columns because it's designed to show practically any kind of data from the database that the user wants to query. We have column and row virtualization enabled, and we're using the lightweight templates (which we recently implemented because they're faster).

We really have 2 problems:

1. Memory usage versus the standard .NET data view control. Are there any known issues with excessive memory usage?

2. Memory never seems to be released, even after disposing the DataTable, setting references to null, removing the grid from its parent, disposing the disposables, and other things we've tried. This hurts because even if each of the user's query returns less than a million rows, it adds up over time and the grid doesn't seem to release memory for what was there before.

Thanks for any help.
Dimitrina
Telerik team
 answered on 16 Dec 2013
0 answers
78 views
Hi,

We are using schedule view to display list of appointments in the range of 1 year with 1500 schedules.

We need to show some of the text in the subject as bold. For that, we are using Run control inside appointment template.
This implementation makes scroll navigation very slow.
Pls let me know the solution or any alternate way for implementing this.


- Sugumar P
Sugumar
Top achievements
Rank 1
 asked on 16 Dec 2013
1 answer
80 views
Hello,
that's now 10 days that the Q3 2013 SP1 version is out, but the offline CHM file still refers to the Q3 2013 version.
It's really a recurrent problem and I had to regularly ask for offline documentation update (for Silverlight and WPF), so please keep it current when a new version is out.
Patrick
Yana
Telerik team
 answered on 16 Dec 2013
3 answers
202 views
I update data in GridView very quickly. Last updated item have a state as if mouse over it.

So when I select item, it is high probability to select wrong item (item, which was last updated), instead of item mouse actually over.

 You can reproduce this problem in demo: GridView -> Real-time Update.

What should I do to solve this problem?


Dimitrina
Telerik team
 answered on 16 Dec 2013
3 answers
776 views
Hi,

I'm having trouble with the logic in my code where the PreviewKeyDown Event is firing multiple times before the KeyUp Event is triggered.

For example:
I press two keys very quickly but NOT at the exact same time. However, my KeyUp event has some logic that needs to be completed in time before the next PreviewKeyDown should be fired.

Is there a way that I can prevent a PreviewKeyDown event from firing again until the respective KeyUp event has finished?
I suppose one solution would be to programmatically Add and Remove the events. I just wondered if there was a flag I can use to check instead.


You can see from my Debug output below that the PreviewKeyDown is firing twice before the KeyUp events have finished:
key press: N
Update Modification - PreviewKeyDown Event (Is Selection Empty: False)
key press: A
Update Modification - PreviewKeyDown Event (Is Selection Empty: False)
KeyUp Event Fired
KeyUp Event Fired


Many thanks,

Rob
Petya
Telerik team
 answered on 16 Dec 2013
3 answers
697 views
Hello, I have a RadGridView that has potentially thousands of rows and 30-50 columns. The vertical scrolling works great even with 150,000+ rows. However, the horizontal scrolling is very slow and jerky. Also the scroll bar starts off about half the width of the GridView and then shrinks as you scroll to the right. This makes the cursor move off the scroll bar. I've tried changing a few settings, but so far nothing has made any difference.

I am using auto generated columns because I don't know until run-time what columns will be in the grid.

Thanks,
Curtis
Dimitrina
Telerik team
 answered on 16 Dec 2013
4 answers
183 views
Hello,

i'm currently using the ScheduleView for showing appointments on a touchscreen. I changed the theme of the ScheduleView so i could open the EditAppointmentDialog with a single tap. The first problem is that the EditAppointmentDialog only shows when i click on a certain area of the appointment. It seems like the frame of the appointment where it reacts to the tap is slightly moved down. I attached a screen with the appointment - the black border illustrates where i need to tap to open the dialog.
This problem only occurs only on the touchscreen though, if i run the application on a normal screen and select the appointments with a mouse it shows no abnormal behavior.
When i try to select the rows of the calendar or press buttons the click is recognized at the right location, so the probelm only occurs when trying to open the EditAppointmentDialog. This makes me think it is a problem with the control and not an issue with drivers or the touchscreen.

I also defined a custom ViewDefinition for a work week, from Monday-Saturday, which leads to my second problem. When i try to pinch within this ViewDefinition i get an InvalidOperationException with the Message 'TimeRulerMonthViewGroupItem' TargetType does not match type of element 'TimeRulerGroupItem'. I found a similiar issue in this thread: http://www.telerik.com/community/forums/wpf/scheduleview/crash-while-pinch-to-zoom.aspx - but the workaround that was posted there didn't work for me.

The exception details:

System.InvalidOperationException was unhandled
  HResult=-2146233079
  Message='TimeRulerMonthViewGroupItem' TargetType does not match type of element 'TimeRulerGroupItem'.
  Source=PresentationFramework
  StackTrace:
       at System.Windows.StyleHelper.UpdateStyleCache(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle, Style& styleCache)
       at System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
       at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
       at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
       at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
       at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
       at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
       at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
       at Telerik.Windows.Controls.ScheduleView.Extensions.SetStyleWithType(FrameworkElement element, Style style) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Helpers\Extensions.cs:line 33
       at Telerik.Windows.Controls.ScheduleViewBase.EnsureElementStyle(FrameworkElement element, Style newStyle) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\ScheduleView.Common.cs:line 784
       at Telerik.Windows.Controls.ScheduleViewBase.ApplyTickItemStyle(FrameworkElement container, Object item) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\ScheduleView.Common.cs:line 1291
       at Telerik.Windows.Controls.TimeRulerPanel.PrepareItem(TimeRulerItemBase item) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\TimeRulerPanel.cs:line 127
       at Telerik.Windows.Controls.RecycleHelper`1.PrepareItem(Int32 index) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Helpers\RecycleHelper.cs:line 148
       at Telerik.Windows.Controls.RecycleHelper`1.PrepareItems(IValuesContainer indexTree, DateTime startDate, DateTime endDate) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Helpers\RecycleHelper.cs:line 85
       at Telerik.Windows.Controls.TimeRulerPanel.PrepareItems() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\TimeRulerPanel.cs:line 344
       at Telerik.Windows.Controls.TimeRulerPanel.MeasureOverride(Size availableSize) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\TimeRulerPanel.cs:line 215
       at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
       at System.Windows.UIElement.Measure(Size availableSize)
       at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
       at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
       at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
       at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
       at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
       at System.Windows.UIElement.Measure(Size availableSize)
       at System.Windows.ContextLayoutManager.UpdateLayout()
       at Telerik.Windows.Media.Imaging.ExportHelper.GetBitmapSource(FrameworkElement element, Double dpiX, Double dpiY) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\ExportExtensions\ExportHelper.cs:line 94
       at Telerik.Windows.Media.Imaging.ExportHelper.GetElementImage(FrameworkElement element) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\ExportExtensions\ExportHelper.cs:line 70
       at Telerik.Windows.Controls.TransitionControl.TransitionPresenter.PrepareAnimation() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\TransitionControl\TransitionPresenter.cs:line 301
       at Telerik.Windows.Controls.RadTransitionControl.PrepareAnimation() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\TransitionControl\RadTransitionControl.cs:line 184
       at Telerik.Windows.Controls.RadScheduleView.OnActiveViewDefinitionChanged(ViewDefinitionBase oldValue, ViewDefinitionBase newValue) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\RadScheduleView.cs:line 281
       at Telerik.Windows.Controls.ScheduleViewBase.OnActiveViewDefinitionChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\ScheduleView.Common.cs:line 2698
       at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
       at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
       at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
       at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
       at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
       at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
       at Telerik.Windows.Controls.ScheduleViewBase.set_ActiveViewDefinition(ViewDefinitionBase value) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\ScheduleView.cs:line 1441
       at Telerik.Windows.Controls.RadScheduleView.SetView(ViewDefinitionBase resultView, Object dateTime) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\RadScheduleView.cs:line 198
       at Telerik.Windows.Controls.RadScheduleView.SelectView[T](Object dateTime) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\RadScheduleView.cs:line 180
       at Telerik.Windows.Controls.ScheduleViewBase.OnSetMonthViewModeExecuted(Object sender, ExecutedRoutedEventArgs e) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Controls\ScheduleView.Commands.cs:line 301
       at System.Windows.Input.CommandBinding.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
       at System.Windows.Input.CommandManager.ExecuteCommandBinding(Object sender, ExecutedRoutedEventArgs e, CommandBinding commandBinding)
       at System.Windows.Input.CommandManager.FindCommandBinding(CommandBindingCollection commandBindings, Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
       at System.Windows.Input.CommandManager.FindCommandBinding(Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
       at System.Windows.Input.CommandManager.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
       at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
       at System.Windows.Input.RoutedCommand.ExecuteImpl(Object parameter, IInputElement target, Boolean userInitiated)
       at Telerik.Windows.Controls.ScheduleView.ScheduleViewTouchableElement.SemanticZoomOut(Point originalPoint) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Touch\ScheduleViewTouchableElement.cs:line 215
       at Telerik.Windows.Controls.ScheduleView.ScheduleViewTouchableElement.PinchFinished(PinchFinishedArguments args) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Controls\ScheduleView\ScheduleView\Touch\ScheduleViewTouchableElement.cs:line 86
       at Telerik.Windows.Input.Touch.GestureHandlers.PinchToZoomHandler.PinchFinished() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\Input\Touch\GestureHandlers\PinchToZoomHandler.cs:line 77
       at Telerik.Windows.Input.Touch.TouchHandler.RegisterPinchFinish() in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\Input\Touch\TouchHandlers\TouchHandler.cs:line 356
       at Telerik.Windows.Input.Touch.TouchHandler.RegisterTouchMove(TouchHandlerArgs args) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\Input\Touch\TouchHandlers\TouchHandler.cs:line 162
       at Telerik.Windows.Input.Touch.TouchHandlersController.RegisterTouchMove(Point point, TouchPoint[] touchPoints, Boolean& handled) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\Input\Touch\TouchHandlersController.cs:line 108
       at Telerik.Windows.Input.Touch.TouchHandlersController.Owner_TouchMove(Object sender, TouchEventArgs e) in c:\TB\105\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\Input\Touch\TouchHandlersController_WPF.cs:line 217
       at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
       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.TouchDevice.ReportMove()
       at System.Windows.Input.StylusLogic.PromoteMainMoveToTouch(StylusDevice stylusDevice, StagingAreaInputItem stagingItem)
       at System.Windows.Input.StylusLogic.PostProcessInput(Object sender, ProcessInputEventArgs e)
       at System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(ProcessInputEventHandler postProcessInput, ProcessInputEventArgs processInputEventArgs)
       at System.Windows.Input.InputManager.ProcessStagingArea()
       at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
       at System.Windows.Input.StylusLogic.InputManagerProcessInput(Object oInput)
       at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
       at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
       at System.Windows.Threading.DispatcherOperation.InvokeImpl()
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Windows.Threading.DispatcherOperation.Invoke()
       at System.Windows.Threading.Dispatcher.ProcessQueue()
       at System.Windows.Threading.Dispatcher.WndProcHook(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 MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, 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.RunInternal(Window window)
       at System.Windows.Application.Run()
       at InformationTerminal.App.Main() in C:\Users\p50054\Projekte\InfoTerminalGUIPrototype\x64\Debug\App.g.cs:line 0
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException:


Kind regards,
Manuel
Manuel
Top achievements
Rank 1
 answered on 16 Dec 2013
1 answer
103 views
I have a situation where I need to base the grid on an observable collection and I want to auto generate the columns based on the values of the Period property of the collection. For example, given the following code I want the column headers to display 2013, 2014, 2015, etc.

Imports System.Collections.ObjectModel
 
Class MainWindow
 
    Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
        Dim colSubjects As New ObservableCollection(Of Subject)
 
        colSubjects.Add(New Subject With {.Period = 2013, .Subject = "English", .Average = 1.65})
        colSubjects.Add(New Subject With {.Period = 2014, .Subject = "English", .Average = 18.6})
        colSubjects.Add(New Subject With {.Period = 2015, .Subject = "English", .Average = 15.4})
        colSubjects.Add(New Subject With {.Period = 2016, .Subject = "English", .Average = 8.2})
        colSubjects.Add(New Subject With {.Period = 2017, .Subject = "English", .Average = 9.72})
        colSubjects.Add(New Subject With {.Period = 2018, .Subject = "English", .Average = 8.55})
 
        colSubjects.Add(New Subject With {.Period = 2013, .Subject = "Mathematics", .Average = 1.65})
        colSubjects.Add(New Subject With {.Period = 2014, .Subject = "Mathematics", .Average = 18.6})
        colSubjects.Add(New Subject With {.Period = 2015, .Subject = "Mathematics", .Average = 15.4})
        colSubjects.Add(New Subject With {.Period = 2016, .Subject = "Mathematics", .Average = 8.2})
        colSubjects.Add(New Subject With {.Period = 2017, .Subject = "Mathematics", .Average = 9.72})
        colSubjects.Add(New Subject With {.Period = 2018, .Subject = "Mathematics", .Average = 8.55})
 
        colSubjects.Add(New Subject With {.Period = 2013, .Subject = "Biology", .Average = 1.65})
        colSubjects.Add(New Subject With {.Period = 2014, .Subject = "Biology", .Average = 18.6})
        colSubjects.Add(New Subject With {.Period = 2015, .Subject = "Biology", .Average = 15.4})
        colSubjects.Add(New Subject With {.Period = 2016, .Subject = "Biology", .Average = 8.2})
        colSubjects.Add(New Subject With {.Period = 2017, .Subject = "Biology", .Average = 9.72})
        colSubjects.Add(New Subject With {.Period = 2018, .Subject = "Biology", .Average = 8.55})
 
        gvRigs.ItemsSource = colSubjects
    End Sub
 
    Private Class Subject
        Public Subject As String
        Public Period As Integer
        Public Average As Single
    End Class
End Class

Does anyone have any suggestions?
Dimitrina
Telerik team
 answered on 14 Dec 2013
3 answers
124 views
Hi,

I am new to Rad Controls/Diagram and would like some help if possible.

What I would like to do is cancel a connection between two items within the diagram based on the target's type.

Is this possible, if so, how would I go about it?

Thanks
Paul.
Pavel R. Pavlov
Telerik team
 answered on 14 Dec 2013
3 answers
184 views
I'm trying to add a shape from code adding an element to the graphsource property.
Everything works as expected: the new shape is added to the diagram at position (0, 0) unless I set a different value.

Is it possible to compute a "meaningful" position using a layout algorithm?
Of course I can add the shape and then trigger a diagram layout, but this will affect the position of every shape...
Pavel R. Pavlov
Telerik team
 answered on 14 Dec 2013
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
PersistenceFramework
DataPager
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
WatermarkTextBox
DesktopAlert
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
ProgressBar
Sparkline
LayoutControl
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
PasswordBox
Rating
SplashScreen
Accessibility
Callout
CollectionNavigator
Localization
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?