Telerik Forums
UI for WPF Forum
1 answer
51 views
Greetings All!

Looking for a way to restrict a RadPanel to only be "dockable" in it's original parent RadPanelGroup? Basically, preventing my tool panels from being able to dock with my DocumentPanel.

Any ideas?

Thanks!


Dave Brock
Top achievements
Rank 1
 answered on 24 Feb 2010
4 answers
329 views
Hi,

We've replaced our earlier use of child grids with a simplified RowDetails, something that looks like this:

       <telerik:RadGridView.RowDetailsTemplate> 
            <DataTemplate> 
                <Grid> 
                    <Grid.ColumnDefinitions> 
                        <ColumnDefinition Width="80" /> <!-- A kind of margin we're using --> 
                        <ColumnDefinition Width="*" /> 
                    </Grid.ColumnDefinitions> 
                    <!-- Here there is a component that appears in column 0 --> 
                     
                    <!-- The actual description  --> 
                    <TextBlock  
                        Grid.Column="1" 
                        Text="{Binding Description, Mode=OneWay}"  
                        TextWrapping="Wrap"/> 
                </Grid> 
            </DataTemplate> 
        </telerik:RadGridView.RowDetailsTemplate> 

When viewing this, the TextBlock fails to wrap the text.

Based on our understanding, this is because the owning Grid is taking more than the visible width. However, it's possible there's a mistake here.

Can you help us understand why the TextBlock is not wrapping?

Thanks,
yonadav
yonadav
Top achievements
Rank 1
 answered on 24 Feb 2010
3 answers
256 views
With the gridview I need to override the delete functionality...When a user hits the delete key on a row in the grid I want to set my entity to Inactive, rather than remove it from the collection.

I tried hooking up KeyDown but it never fires for the delete key, the default functionality of removing the row happens.
I tired hooking up KeyDown with CanUserDeleteRows set to false and the key down never fires for the delete key.
I can use other keys such as backspace etc. but our users want to use delete.

The only thing that seemed to work was to handle the Deleting event and do what I want and set e.Cancel to true. The problem with this event is I can't selectivly remove from the collection ie. if my record is new/unsaved and they hit delete i want it removed but if it's a saved record that they delete i want it marked on screen as inactive. The cancel seems to be an all or nothing. 

What's the best way to do the functionality that i need?
Milan
Telerik team
 answered on 24 Feb 2010
6 answers
294 views
I downloaded RAD Controls for WPF set and didn't manage to find in Demos an example of master-detail representation of a GridView. For example, for OrderHeader - OrderLines view implementation. How is it possible to set detail part of a view as CardView with the possibility of editing database records?
Milan
Telerik team
 answered on 24 Feb 2010
4 answers
414 views
Hi,

I use the RadGridView and I want to have 2 GridViewComboBoxColumn in there. But there are a lot of problem:
1. The Comboboxes should always be visible, but they are only visible if the user double-clicks in the cell. Therefore, I tried to put a normal Combobox in the DataTemplate of the Cell-Template but then
2. Databinding is not working any more. And
3. Databinding with Enums is not working at all. If I bind my enum to the normal GridViewComboBoxColumn the data is showing up wenn the user double clicks, but then it is not possible to select any other cell in the grid and everything stood still.
4. How can I preselect the current dataitem value in the combobox? The initial value of all comboboxes is always empty ....
Please help!

That's my code:
XAML:
<telerik:RadGridView x:Name="grid" Grid.Column="2" Grid.RowSpan="15" AutoGenerateColumns="False" ItemsSource="{Binding}">
            <telerik:RadGridView.Columns>
                <telerik:GridViewDataColumn Header="Plate Id" DataMemberBinding="{Binding Name}">            
                <telerik:GridViewComboBoxColumn Header="Dilution Factor" DataMemberBinding="{Binding DilutionFactorId, Mode = TwoWay}" ItemsSource="{Binding}" DisplayMemberPath="Name" SelectedValueMemberPath="Id" UniqueName="colDilFactor">
                    <!--<telerik:GridViewComboBoxColumn.CellTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <ComboBox x:Name="internalCboFactor" ItemsSource="{Binding}" SelectedValue="{Binding DilutionFactorId}"></ComboBox>                               
                            </StackPanel>
                        </DataTemplate>
                    </telerik:GridViewComboBoxColumn.CellTemplate>-->
                </telerik:GridViewComboBoxColumn>
                <telerik:GridViewComboBoxColumn Header="State" DataMemberBinding="{Binding State}" ItemsSource="{Binding}" UniqueName="colState">
            </telerik:RadGridView.Columns>
        </telerik:RadGridView>

C#
((GridViewComboBoxColumn)grid.Columns["colState"]).ItemsSource = Enum.GetNames(typeof(PlateStateEnum));
 ((GridViewComboBoxColumn)grid.Columns["colDilFactor"]).ItemsSource =                     _handler.GetProvider().LoadDilutionFactors(typeId);

                //ComboBox cboFactor = grid.Columns["colDilFactor"].FindName("internalCboFactor") as ComboBox;
                //if(cboFactor != null)
                //    cboFactor.ItemsSource = _handler.GetProvider().LoadDilutionFactors(typeId);

            }

Thx in advance!
Tony Mocella
Top achievements
Rank 1
 answered on 24 Feb 2010
4 answers
230 views
We are proud to announce the availability of Q1 2010 Beta release that will give you a preview of what you can expect with the official Q1 release expected in March.

The Q1 2010 Beta release adds 3 interactive controls to the suite – RadMap, RadBook and RadTransition.  Just like in the Silverlight suite, the 6 out-of-the box themes get a major facelift, and the performance of the suite is optimized through streamlining the templates and reducing assembly size. The Grid, Map, Chart and Scheduler controls implement serious new features. 


Check ONLINE DEMOS 

The downloads are now available in your account (or free trials): both full installation (MSI) or manual installation (ZIP)







Full details (release notes) can be found at: http://www.telerik.com/community/labs/radcontrols-for-wpf-q1-2010.aspx

For any questions, suggestions, etc, please use this forum thread. We will try to handle all your inquiries in a timely manner. You can also use the dedicated forums for the new controls - Book, Map and TransitionControl.
Boyan
Telerik team
 answered on 24 Feb 2010
4 answers
276 views
RadControls for WPF Q3 2009.
I have predefined GroupDescriptors in XAML on the RadGrid, to show a Particular Group at start.
However the AggregateFunctions do not show up on the Group Footers or Headers.  The Group Footers also look broken, as some grid lines are missing.
In the UI, if a user removes the prefined GroupDescriptor, and creates a new group through the UI with the same Column, the AggregateFunctions do show up.

I have also attempted to do this through C#, and get the same results.
Is there a particular way of predefining the GroupDescriptors so the Column's AggregateFunctions show up in the Group Footer?

Additional question.  Is there way of defining a Column AggregateFunction to only appear in the GroupFooter, and not the header without writing a new ControlTemplate for the GridViewGroupRow?


public class Receipt : INotifyPropertyChanged  
{
    #region fields  
    string _source;  
    double _amount;  
    double _associatedAmount;  
    double _allocatedAmount;  
    double _availableAmount;  
    DateTime _receiptEffectiveDate;  
    string _receiptApplication;
    #endregion  
 
    #region ctor  
    public Receipt()  
    {  
    }  
 
    public Receipt(string source, double amount, double associatedAmount, double allocatedAmount, double availableAmount, DateTime receiptEffectiveDate, string receiptApplication)  
    {  
        Source = source;  
        Amount = amount;  
        AssociatedAmount = associatedAmount;  
        AllocatedAmount = allocatedAmount;  
        AvailableAmount = AvailableAmount;  
        ReceiptEffectiveDate = receiptEffectiveDate;  
        ReceiptApplication = receiptApplication;  
    }
    #endregion  
 
    #region properties  
    public string Source  
    {  
        get { return _source; }  
        set 
        {  
            _source = value;  
            NotifyPropertyChanged("Source");  
        }  
    }  
    public double Amount  
    {  
        get { return _amount; }  
        set 
        {  
            _amount = value;  
            NotifyPropertyChanged("Amount");  
        }  
    }  
    public double AssociatedAmount  
    {  
        get { return _associatedAmount; }  
        set 
        {  
            _associatedAmount = value;  
            NotifyPropertyChanged("AssociatedAmount");  
        }  
    }  
    public double AllocatedAmount  
    {  
        get { return _allocatedAmount; }  
        set 
        {  
            _allocatedAmount = value;  
            NotifyPropertyChanged("AllocatedAmount");  
        }  
    }  
    public double AvailableAmount  
    {  
        get { return _availableAmount; }  
        set 
        {  
            _availableAmount = value;  
            NotifyPropertyChanged("AvailableAmount");  
        }  
    }  
    public DateTime ReceiptEffectiveDate  
    {  
        get { return _receiptEffectiveDate; }  
        set 
        {  
            _receiptEffectiveDate = value;  
            NotifyPropertyChanged("ReceiptEffectiveDate");  
        }  
    }  
 
    public string ReceiptApplication  
    {  
        get { return _receiptApplication; }  
        set 
        {  
            _receiptApplication = value;  
            NotifyPropertyChanged("ReceiptApplication");  
        }  
    }
    #endregion  
 
    #region Interface INotifyPropertyChanged  
    public event PropertyChangedEventHandler PropertyChanged;  
 
    private void NotifyPropertyChanged(string propertyName)  
    {  
        if (PropertyChanged != null)  
            PropertyChanged(thisnew PropertyChangedEventArgs(propertyName));  
    }
    #endregion  
}  
 

public Window2()  
{  
    InitializeComponent();  
 
    ObservableCollection<Receipt> list2 = new ObservableCollection<Receipt>();  
    list2.Add(new Receipt("HELLO", 1123, 456, 1, 8, DateTime.Today, "B"));  
    list2.Add(new Receipt("HELLO", 2123, 456, 2, 7, DateTime.Today, "B"));  
    list2.Add(new Receipt("HELLO", 3123, 456, 3, 6, DateTime.Today, "C"));  
    list2.Add(new Receipt("HELLO", 4123, 456, 4, 5, DateTime.Today, "C"));  
    list2.Add(new Receipt("WORLD", 1123, 456, 5, 4, DateTime.Today, "A"));  
    list2.Add(new Receipt("WORLD", 2123, 456, 6, 3, DateTime.Today, "B"));  
    list2.Add(new Receipt("WORLD", 3123, 456, 7, 2, DateTime.Today, "C"));  
    list2.Add(new Receipt("WORLD", 4123, 456, 8, 1, DateTime.Today, "D"));  
 
    Binding binding = new Binding();  
    binding.Source = list2;  
    uxRadGridView.SetBinding(RadGridView.ItemsSourceProperty, binding);  
}  
 

<telerik:RadGridView xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"   
                     AutoGenerateColumns="False" 
                     CanUserFreezeColumns="False"   
                     CanUserSortColumns="True" 
                     CanUserInsertRows="True" 
                     ShowGroupPanel="True" 
                     ShowColumnFooters="True" 
                     ShowGroupFooters="True" 
                     AutoExpandGroups="True" 
                     Grid.Row="1" x:Name="uxRadGridView" UseAlternateRowStyle="False" telerik:StyleManager.Theme="Office_Black">  
    <telerik:RadGridView.GroupDescriptors> 
        <telerik:GroupDescriptor Member="Amount" /> 
    </telerik:RadGridView.GroupDescriptors> 
    <telerik:RadGridView.Columns> 
        <telerik:GridViewDataColumn IsFilterable="False" DataMemberBinding="{Binding Source}" /> 
        <telerik:GridViewDataColumn IsFilterable="False" DataMemberBinding="{Binding Amount}" /> 
        <telerik:GridViewDataColumn IsFilterable="False" Header="Associated Amount" DataMemberBinding="{Binding AssociatedAmount}"   
            DataFormatString="{}{0:c}" TextAlignment="Right" HeaderTextAlignment="Right" FooterTextAlignment="Right" > 
            <telerik:GridViewDataColumn.AggregateFunctions> 
                <telerik:SumFunction ResultFormatString="{}{0:c}" SourceField="AssociatedAmount" /> 
            </telerik:GridViewDataColumn.AggregateFunctions> 
        </telerik:GridViewDataColumn> 
        <telerik:GridViewDataColumn IsFilterable="False" Header="Allocated Amount" DataMemberBinding="{Binding AllocatedAmount}"   
            DataFormatString="{}{0:c}" TextAlignment="Right" HeaderTextAlignment="Right" FooterTextAlignment="Right" > 
            <telerik:GridViewDataColumn.AggregateFunctions> 
                <telerik:SumFunction ResultFormatString="{}{0:c}" SourceField="AllocatedAmount" /> 
            </telerik:GridViewDataColumn.AggregateFunctions> 
        </telerik:GridViewDataColumn> 
        <telerik:GridViewDataColumn IsFilterable="False" Header="Available Amount" DataMemberBinding="{Binding AvailableAmount}"   
            DataFormatString="{}{0:c}" TextAlignment="Right" HeaderTextAlignment="Right" FooterTextAlignment="Right" > 
            <telerik:GridViewDataColumn.AggregateFunctions> 
                <telerik:SumFunction ResultFormatString="{}{0:c}" SourceField="AvailableAmount" /> 
            </telerik:GridViewDataColumn.AggregateFunctions> 
        </telerik:GridViewDataColumn> 
        <telerik:GridViewDataColumn IsFilterable="False" Header="Receipt Effective Date" DataMemberBinding="{Binding ReceiptEffectiveDate}" /> 
    </telerik:RadGridView.Columns> 
</telerik:RadGridView> 
 




Pavel Pavlov
Telerik team
 answered on 24 Feb 2010
1 answer
78 views
Dear team,

Is there any quick way, that I can completely style the default RadGrid control and also create my own theme in fly? I'm finding it very difficult to style them, since I'm not from development side... It will be great help, if you can send me any samples for this. I found out one (http://www.telerik.com/community/forums/wpf/gridview/authoring-own-theme.aspx), which I was looking for, but this is not working with the Q2 2009 .dlls

We are using Q2 2009 version, which is free for MSDN subscribers (http://www.telerik.com/community/promos/msdn-wpf.aspx)

Many thanks 
Kalin Milanov
Telerik team
 answered on 24 Feb 2010
3 answers
59 views

I am getting an error trying to change my column collection after it has been previously loaded.
I am using as much of an MVVM approach as I can, to work around some of the gridview properties that aren't DependencyProperties i had to get a little creative. Everything was working fine, but it seems as if something in the last release(2009.3.1208.35) is causing an error.

I have a property in my ViewModel that is a GridViewColumnCollection. A multibinding converter is used to get the Columns property of the Grid and set it into the ViewModel( which is the Datacontext for the Grid)

My Grid is declared as such:

<telerik:RadGridView Name="gridviewRecordList" Margin="0,2,2,2" ScrollMode="RealTime" AutoGenerateColumns="False" IsReadOnly="True"  > 
                    <telerik:RadGridView.ItemsSource> 
                        <Binding Path="GetAllRecords" Mode="OneWay"/>  
                    </telerik:RadGridView.ItemsSource> 
                    <telerik:RadGridView.SelectedItem> 
                        <Binding Path="CurrentRecord"  Mode="Default"/>  
                    </telerik:RadGridView.SelectedItem> 
                    <telerik:RadGridView.ShowGroupPanel> 
                        <Binding Path="CurrentListToolView.IsGroupingAllowed" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged"  /> 
                    </telerik:RadGridView.ShowGroupPanel> 
                    <telerik:RadGridView.ShowColumnFooters> 
                        <Binding Path="CurrentListToolView.ShowColumnFooter" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" /> 
                    </telerik:RadGridView.ShowColumnFooters> 
                </telerik:RadGridView> 

Here's the Xaml for the column binding converter:

<Label.Content> 
                <MultiBinding> 
                    <MultiBinding.Converter> 
                        <local:ColumnConverter /> 
                    </MultiBinding.Converter> 
                    <Binding ElementName="gridviewRecordList" Path="DataContext" UpdateSourceTrigger="PropertyChanged"/>  
                    <Binding ElementName="gridviewRecordList" Path="Columns" UpdateSourceTrigger="PropertyChanged"/>  
                </MultiBinding> 
            </Label.Content> 
Here's ColumnConverter:
 If o IsNot Nothing And o.GetType.BaseType Is GetType(ASISplitWindowVM) And values.Count = 2 Then 
 
                    If values(1).GetType.BaseType Is GetType(GridViewColumnCollection) Then 
 
                        Dim columnColl As GridViewColumnCollection = CType(values(1), GridViewColumnCollection)  
                        Dim viewModel As ASISplitWindowVM = CType(o, ASISplitWindowVM)  
                        viewModel.ColumnList = columnColl  
                        viewModel.LoadListToolColumns()  
 
                    End If 
 
                End If 

The LoadListToolColumns Method reads through saved column data and creates GridViewDataColumns to add to the ColumnList Object(which since the ColumnList and the GridView.Columns are the same object it will update the UI when the ColumnList is changed).

This was all working fine, and still does work fine the first time it runs, but if I call LoadListToolColumns to try to load a different set of columns( after doing a ColumnList.Clear() ). Then I get an error, it works without error using version 2009.3.1103.35. 

This error is thrown after all my code has executed successfully:
System.NullReferenceException was unhandled  
  Message=Object reference not set to an instance of an object.  
  Source=Telerik.Windows.Controls.GridView  
  StackTrace:  
       at Telerik.Windows.Controls.GridView.GridViewCellsPanel.SetDataGridCellPanelWidth(IList children, Double newWidth)  
       at Telerik.Windows.Controls.GridView.GridViewCellsPanel.ArrangeOverride(Size arrangeSize)  
       at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)  
       at System.Windows.UIElement.Arrange(Rect finalRect)  
       at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)  
       at System.Windows.Controls.ItemsPresenter.ArrangeOverride(Size arrangeSize)  
       at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)  
       at System.Windows.UIElement.Arrange(Rect finalRect)  
       at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)  
       at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)  
       at System.Windows.UIElement.Arrange(Rect finalRect)  
       at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)  
       at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)  
       at System.Windows.UIElement.Arrange(Rect finalRect)  
       at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)  
       at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)  
       at System.Windows.UIElement.Arrange(Rect finalRect)  
       at System.Windows.ContextLayoutManager.UpdateLayout()  
       at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)  
       at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()  
       at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()  
       at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)  
       at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)  
       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.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)  
       at System.Threading.ExecutionContext.runTryCode(Object userData)  
       at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)  
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)  
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)  
       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.InvokeImpl(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.Threading.Dispatcher.PushFrame(DispatcherFrame frame)  
       at System.Windows.Threading.Dispatcher.Run()  
       at System.Windows.Application.RunDispatcher(Object ignore)  
       at System.Windows.Application.RunInternal(Window window)  
       at System.Windows.Application.Run(Window window)  
       at System.Windows.Application.Run()  
       at MainUI.Application.Main() in C:\Documents and Settings\nicka.ASICSLOCAL\My Documents\Visual Studio 2010\Projects\Oasis 2010\Oasis\MainUI\obj\Debug\Application.g.vb:line 77  
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)  
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)  
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()  
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)  
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)  
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)  
       at System.Threading.ThreadHelper.ThreadStart()  
  InnerException:   
 

Any ideas?
Vlad
Telerik team
 answered on 24 Feb 2010
1 answer
96 views

Hi,

Attempt to set .Left and .Top property on RadWindow produces exception.

I’m trying to open modal RadWindow at the specific location on screen. The WindowStartupLocation is set to “Manual”.  The code runs like this :

 

windowAdjustment.Left = _rightClickPoint.X;

windowAdjustment.Top = _rightClickPoint.Y;

windowAdjustment.ShowDialog();

 

It works perfectly the first time. But setting .Left property the second time causes exception “{“Object reference not set to an instance of an object"}            System.Exception {System.NullReferenceException}”

The top of the stack trace :

 

at Telerik.Windows.Controls.RadWindowPopup.WindowPopupWindowFactory.WindowPopupWindowImpl.Move(Double left, Double top) in c:\Builds\...\Navigation\Window\WindowPopup\WindowPopupWindowImpl.cs:line 39

   at Telerik.Windows.Controls.RadWindow.Move(Double x, Double y) in c:\Builds\...\Navigation\Window\RadWindow.cs:line 2028

   at Telerik.Windows.Controls.RadWindow.OnLeftChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) in c:\Builds\...\Navigation\Window\RadWindow.cs:line 1713

 

Any ideas anyone ?

 

Regards,

Sergey

Miroslav Nedyalkov
Telerik team
 answered on 24 Feb 2010
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)
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
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?