Telerik Forums
UI for WPF Forum
12 answers
710 views

I think I've seen this problem before, but none had a documented resolution.  I have a list of objects from the database that I want to display in a property grid.  The tables and view have been built to provide all that I need for the property grid.  Here is the poco def:

public class Setting

{

public string ParameterName { get; set; }

public string ParameterValue { get; set; }

public string DataTypeName { get; set; }

public string ParameterTypeName { get; set; }

public string Description { get; set; }

}

I am trying it in code behind first, so my xaml is simple:

<telerik:RadPropertyGrid x:Name="_propertyGrid" AutoGeneratePropertyDefinitions="False" />

and the code-behind gets the list of Setting instances from the view model and wraps a PropertyDefinition around it.  It adds that PropertyDefinition to the property grid, then binds the property grid to the entire list:

List<Setting> settings = viewModel.Settings;

foreach (Setting setting in settings)

{

_propertyGrid.PropertyDefinitions.Add(new PropertyDefinition(/*new ItemPropertyInfo(setting.ParameterName, Type.GetType(setting.DataTypeName), setting.Description)*/)

{

 Binding = new Binding("ParameterValue") { Mode = BindingMode.TwoWay /*, Path = new PropertyPath("ParameterValue")*/ },

 

 Description = setting.Description,

 DisplayName = setting.ParameterName,

 GroupName = setting.ParameterTypeName,

});

}

_propertyGrid.Item = settings;

 

This works perfectly in some ways: every instance gets a row in the grid; and the DisplayName, Description, and GroupName all match the poco from whence it came.

However, I cannot get the ParameterValue to display.  I know it is set because I can set DisplayName or Description to setting.ParameterValue and the actual value shows in the name or description, but never in the bound data.

I look at my output window and get no binding errors.  However I get no errors even if I intentionally misspell the ParameterValue property's name, so I don't think that is conclusive.

 

The commented out code is stuff I've tried that either generates a runtime error (new ItemPropertyInfo), or has no effect (new PropertyPath). Both seem interesting though, so I left them in for exploration.

So my question is, can I bind the value of a property grid to a specific property of a poco in a list of them, as I can bind things like Description, DisplayName and GroupName?

Thank you very much for your time on this.

 
Edit: Somebody else commented in another post that it works if PropertySetMode is set to None, so I added this:

_propertyGrid.PropertySetMode = PropertySetOperation.None;

with no effect.  However, if I set to to Union or Intersection, the *GroupName* (not the value, but the category) shows up in the data.  How is that possible?

Dimitrina
Telerik team
 answered on 17 Dec 2013
5 answers
215 views
Hallo,
we have a new issue with RadTabControl - when we use style selector to use RadTabControl in MVVM concept, after we create more than one TabItems, after each active tab control item change, the View's constructor is everytime called.. - why RadTabControl is creating everytime new instance??? (-> Click on the button to add any tab items, create breakpoint into constructor UserControl1() and switch between the tabs...)
When we change RadTabControl into TabControl (remove all Telerik's stuff from MainWindow.xaml), the problem is solved... Thank you for your help...
Joel
Top achievements
Rank 1
Iron
 answered on 17 Dec 2013
3 answers
173 views
I have a DataTable bound to a RadGridView. I wish to display data errors for all rows on load.

When I create my DataTable I validate it, and if a cell has an error I call the following:

row.SetColumnError(1, "This cell has an error");

I can't get this to show up in the grid. How can I do this with a DataTable?

Thanks
Yoan
Telerik team
 answered on 16 Dec 2013
1 answer
161 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
73 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
64 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
189 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
748 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
681 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
177 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
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
Book
FileDialogs
ToolBar
ColorPicker
TimePicker
SyntaxEditor
MultiColumnComboBox
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
DesktopAlert
WatermarkTextBox
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
VirtualKeyboard
HighlightTextBlock
Security
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Rob
Top achievements
Rank 3
Bronze
Iron
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Bronze
Iron
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?