Telerik Forums
UI for WPF Forum
2 answers
268 views

Dear All,

I am new to Chat control. I am practicing RadChat in Chat application, such that I have list of contacts on Left side, which bounded to List of users where

public class User: Entity
{
        public ObservableCollection<MessageBase> Messages { get => messages; set { messages = value; RaisePropertyChange(); } }
}

I have bounded RadChat DataSource as SelectedUser.Messages property, where SelectedUser is public property in my viewmodel, which contains selected item object.

As I assume that RadChat need to updated Messages as datasource is changed, but instead of refreshing messages, it appends new messages to old one.

My requirement is to Clear all messages in Chat UI, as I have selected new Messages object as datasource.

 

Here I want to clarify that data in Messages are correct according to my need. I feel it is some issue in RadChat or I need further steps to acheive my target.

<telerik:RadChat Grid.Row="2" Margin="5 0 0 0" Name="ctrlChat"                                     CurrentAuthor="{Binding CurrentAuther,UpdateSourceTrigger=PropertyChanged}"
DataSource="{Binding SelectedUser.Messages, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">
   <telerik:EventToCommandBehavior.EventBindings>
    <telerik:EventBinding EventName="SendMessage"
                         Command="{Binding SendMessageCommand}" PassEventArgsToCommand="True" />
     </telerik:EventToCommandBehavior.EventBindings> 
    </telerik:RadChat>

 

 

Stefan
Telerik team
 answered on 14 Nov 2018
3 answers
203 views

When maximizing dockable windows on a second monitor they get cut-off. See attachment. This only happens, when the second monitor has a higher resolution, than the main monitor. Maximizing on main monitor or my third monitor which is smaller it works fine.

 

You already had a similar bug, which was obviously only fixed for the main monitor resolution:

https://www.telerik.com/forums/visual-studio-example---floating-document-is-not-maximized

 

My Telerik Version: 2018.1.220.45

 

Please get this fixed.

Dinko | Tech Support Engineer
Telerik team
 answered on 14 Nov 2018
5 answers
92 views

Good morning
I have a problem that I can not solve despite having read many threads about this topic.
I have a RadGridView with binding to table where are listed a series of processing steps coming from an external microprocessor.
the running process is always on the first line.

Faced with a change in the status of some microprocessor values, which occur with a few milliseconds, refresh the values of the only cells that interest me with these instructions (for reasons of display speed):

   ((WorkPhaseInProgress) RadGridViewWorkPhaseInProgressOnDashBoard.Items [0]). QtaDone = qtaDone;
   ((WorkPhaseInProgress) RadGridViewWorkPhaseInProgressOnDashBoard.Items [0]). QtaPartialDone = qtaPartialDone;
   ((WorkPhaseInProgress) RadGridViewWorkPhaseInProgressOnDashBoard.Items [0]). QtaDoneForHour = qtaForHourNow;
   RadGridViewWorkPhaseInProgressOnDashBoard.Items.Refresh ();

where

RadGridViewWorkPhaseInProgressOnDashBoard is the name of the RadGridView

WorkPhaseInProgress class of single item

and everything works perfectly.

my question is:
how can I change the backgroud color for a few seconds to the only cells that interest me?

I can run everything in a separate thread, but my problem is how to change freely (according to my logic related to the microprocessor) the change of back color.
I hope I explained myself
thank you in advance

Vladimir Stoyanov
Telerik team
 answered on 14 Nov 2018
1 answer
115 views

The default behaviour for the StepLineSeries is that the centre of the step is over the point, is there a way to change the position of the step up/down so it corresponds with change in the horizontal axis

e.g. Imagine I have a StepLineSeries displaying the amount of money in my piggy bank on the vertical axis, and the date on a DateTimeContinuous horizontal axis, with the following amounts on dates:

1st Jan = £0

2nd Jan = £10

5th Jan = £3

Currently the first step up happens in between the horizontal axis markers for 1st and 2nd Jan, instead of on the axis marker for 2nd Jan, which is when I actually changed the value. Is there a way to adjust this behaviour?

 

Vladimir Stoyanov
Telerik team
 answered on 14 Nov 2018
1 answer
158 views

I am using RadTreeView with  IsTriStateMode="True" and IsOptionElementsEnabled="True" options. i am having an issue on aligning the selection of TreeViewItem and the checkbox state. i tried binding IsChecked and IsSelected properties, but did not work as expected.  

I prefer doing in XAML. Any suggestions?

Martin Ivanov
Telerik team
 answered on 14 Nov 2018
1 answer
798 views

Hi,

Is it possible to change the AccentColor in XAML?

I want to do something like this, but in a global style.xaml:

FluentPalette.Palette.AccentColor = (Color)ColorConverter.ConvertFromString("#FF0078D7");
FluentPalette.Palette.AccentFocusedColor = (Color)ColorConverter.ConvertFromString("#FF4CB0FF");
FluentPalette.Palette.AccentMouseOverColor = (Color)ColorConverter.ConvertFromString("#FF008EFF");
FluentPalette.Palette.AccentPressedColor = (Color)ColorConverter.ConvertFromString("#FF0063B1");

Best regards,

Moritz

Vladimir Stoyanov
Telerik team
 answered on 14 Nov 2018
2 answers
182 views

I'm building an app where the user can switch the appearance of the UI controls a runtime.

I do this in codebehind like so:

StyleManager.ApplicationTheme = new MaterialTheme();
MaterialPalette.Palette.FontSize = 12;
MaterialPalette.Palette.MainColor = (Color)ColorConverter.ConvertFromString("#FFFC0EF1");
MaterialPalette.Palette.FontFamily = new FontFamily("Calibri");

But besides the radcontrols, there are a lot of MS controls (mostly Label), who's color, font and size i also have to switch.

And (to my surprise) there is no "RadLabel" or "RadTextBlock".

So how can I accomplish this with the regular controls? Can I make them "listen" to the StyleManager.ApplicationTheme ?

Tom
Top achievements
Rank 1
 answered on 13 Nov 2018
2 answers
294 views

I have the following (simplified) xaml:

<telerik:RadCartesianChart x:Name="chart">
   <telerik:RadCartesianChart.HorizontalAxis >
      <telerik:CategoricalAxis  />
   </telerik:RadCartesianChart.HorizontalAxis>

   <telerik:RadCartesianChart.VerticalAxis>
      <telerik:LinearAxis />
   </telerik:RadCartesianChart.VerticalAxis>
                              
   <telerik:RadCartesianChart.Series>
      <telerik:LineSeries Stroke="Blue"  ItemsSource="<Binding to a double array>"
      </telerik:LineSeries>
   </telerik:RadCartesianChart.Series>
</telerik:RadCartesianChart>

By default the x axis starts from "1" (See picture). How to have the x axis starting at "0" ?

Thanks

 

 

Stéphane
Top achievements
Rank 1
Iron
 answered on 13 Nov 2018
7 answers
513 views
here is the setup

1. using wpf controls version 2013.3.1316.45. 
2. Windows8 theme. 
3. using  MVVM
4. I have a radGrid with a data template inside cell template.  There is a radButton.
5. there is 1 interaction trigger to capture double click

The button will fire if clicked with mouse.  The button will only highlight (not fire) if I use touch screen.  how come?

code snippet:

<telerik:RadGridView
Grid.Row="0"
Grid.Column="0"
ItemsSource="{Binding SolicitationSearchResults}"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
Width="{Binding RelativeSource={RelativeSource AncestorType={x:Type HeaderedContentControl}, AncestorLevel=1}, Path=ActualWidth}"
AutoGenerateColumns="False"
BorderThickness="1"
CanUserDeleteRows="False"
CanUserFreezeColumns="True"
CanUserInsertRows="False"
CanUserReorderColumns="False"
GridLinesVisibility="Vertical"
FrozenColumnCount="2"
IsReadOnly="True"
RowDetailsVisibilityMode="Visible"
RowIndicatorVisibility="Collapsed"
SelectedItem="{Binding Path=SelectedSolicitationSearchResult}"
ShowGroupPanel="False">
<i:Interaction.Triggers>
<!--Used to capture a GridView row double-click, which will ultimately -->
<!--be used to fire the Edit method.-->
<i:EventTrigger
EventName="RowActivated">
<cmd:EventToCommand
Command="{Binding ItemEditCommand, Mode=OneTime}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<telerik:RadGridView.Columns>
<!--Edit-->
<telerik:GridViewColumn
Header=""
MaxWidth="50"
MinWidth="50"
Width="50">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate
DataType="solicitation:SolicitationSearchResultItemViewModel">
<telerik:RadButton
Command="{Binding EditSolicitationCommand}"
Content="view"
IsEnabled="{Binding CanEditSolicitation}"
Margin="0 0 2 0" />
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>
<!--Solicitation id-->
<telerik:GridViewColumn
Header="Id"
IsFilterable="False"
MinWidth="70"
SortMemberPath="SolicitationId"
Width="70">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate
DataType="solicitation:SolicitationSearchResultItemViewModel">
<TextBlock
Text="{Binding SolicitationId}"
TextTrimming="CharacterEllipsis"
ToolTip="{Binding SolicitationId}" />
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>
<!--Organization Name-->
<telerik:GridViewColumn
Header="Customer"
IsFilterable="False"
MinWidth="160"
SortMemberPath="OrganizationName"
Width="260">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate
DataType="solicitation:SolicitationSearchResultItemViewModel">
<TextBlock
Text="{Binding OrganizationName}"
TextTrimming="CharacterEllipsis"
ToolTip="{Binding OrganizationName}" />
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>
<!--Solicitation Name-->
<telerik:GridViewColumn
Header="Solicitation Name"
IsFilterable="False"
MinWidth="160"
SortMemberPath="SolicitationName"
Width="260">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate
DataType="solicitation:SolicitationSearchResultItemViewModel">
<TextBlock
Text="{Binding SolicitationName}"
TextTrimming="CharacterEllipsis"
ToolTip="{Binding SolicitationName}" />
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>
<!--Solicitation Number-->
<telerik:GridViewColumn
Header="Solicitation Number"
IsFilterable="False"
MinWidth="160"
SortMemberPath="SolicitationNumber"
Width="260">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate
DataType="solicitation:SolicitationSearchResultItemViewModel">
<TextBlock
Text="{Binding SolicitationNumber}"
TextTrimming="CharacterEllipsis"
ToolTip="{Binding SolicitationNumber}" />
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>
<!--Status-->
<telerik:GridViewColumn
Header="Status"
IsFilterable="False"
MinWidth="75"
SortMemberPath="SolicitationStatusName"
Width="75">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate
DataType="solicitation:SolicitationSearchResultItemViewModel">
<TextBlock
Text="{Binding SolicitationStatusName}"
TextTrimming="CharacterEllipsis" />
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
Vladimir Stoyanov
Telerik team
 answered on 13 Nov 2018
12 answers
273 views

 

I have a RadGridView that is bound to VQCV.

internal class TestContext : DbContext
{
    public DbSet<City> Cities { get; set; }
 
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        base.OnConfiguring(optionsBuilder);
 
        optionsBuilder.UseSqlite("Data Source=Test.db");
    }
}
 
internal class City
{
    public int Id { get; set; }
}
 
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    private VirtualQueryableCollectionView view;
 
    public MainWindow()
    {
        InitializeComponent();
        Load();
    }
 
    private void Load()
    {
        var context = new TestContext();
 
        if (File.Exists("Test.db"))
        {
            File.Delete("Test.db");
        }
 
        File.Copy(@"..\..\Test.db", "Test.db");
        view = new VirtualQueryableCollectionView(context.Cities);
        view.FilterDescriptors.Add(new FilterDescriptor("Id", FilterOperator.IsEqualTo, 123));
        GV.ItemsSource = view;
        File.Delete("Test.db");
    }

 

 

The view loads data from Entity Framework context. Sometimes it may throw DB exceptions, they go to the global level (dispatcher).

I don't know how to handle such exceptions.

private void Dispatcher_UnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
    e.Handled = true;
}

See my test project: https://github.com/dermeister0/telerik-test

 

Run the app. Click on column sort icon. Resize window. Result - infinite loop of exceptions. RadGridView tries to measure itself, it gets count of records from VQCV, but the view throws exception.

 

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.Data.Sqlite.SqliteException: SQLite Error 1: 'no such table: Cities'.
   at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
   at Microsoft.Data.Sqlite.SqliteCommand.<PrepareAndEnumerateStatements>d__62.MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.ExecuteReader()
   at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues)
   at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteReader(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.BufferlessMoveNext(DbContext _, Boolean buffer)
   at Microsoft.EntityFrameworkCore.Storage.Internal.NoopExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()
   at Microsoft.EntityFrameworkCore.Query.QueryMethodProvider.GetResult[TResult](IEnumerable`1 valueBuffers, Boolean throwOnNullResult)
   at lambda_method(Closure )
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ResultEnumerable`1.GetEnumerator()
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.<>c__DisplayClass15_1`1.<CompileQueryCore>b__0(QueryContext qc)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.Execute(Expression expression)
   at Telerik.Windows.Data.QueryableExtensions.Count(IQueryable source)
   at Telerik.Windows.Data.VirtualQueryableCollectionView.get_ItemCount()
   at Telerik.Windows.Data.VirtualQueryableCollectionView.get_InternalCount()
   at Telerik.Windows.Data.QueryableCollectionView.get_IsEmpty()
   at Telerik.Windows.Data.DataItemCollection.get_IsEmpty()
   at Telerik.Windows.Controls.GridView.BaseItemsControl.OnItemsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.OnItemsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Controls.DataControl.OnItemsCollectionChangedDispatch(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.DataItemCollection.OnCollectionViewCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.Listener`2.ReceiveWeakEvent(Object sender, TArgs args)
   at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
   at Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
   at Telerik.Windows.Data.VirtualQueryableCollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
   at Telerik.Windows.Data.QueryableCollectionView.RefreshOverride()
   at Telerik.Windows.Data.QueryableCollectionView.RefreshOrDefer()
   at Telerik.Windows.Data.VirtualQueryableCollectionView.InvalidatePagingAndRefresh()
   at Telerik.Windows.Data.QueryableCollectionView.OnSortDescriptorsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.RadObservableCollection`1.RaiseCollectionChangedOnResume()
   at Telerik.Windows.Data.RadObservableCollection`1.ResumeNotifications()
   at Telerik.Windows.Data.CollectionHelper.Reset(IEnumerable source, IList target, Func`2 itemConverter)
   at Telerik.Windows.Data.ObservableCollectionManager.HandleCollectionChanged(IList sender, NotifyCollectionChangedEventArgs args)
   at Telerik.Windows.Data.ObservableCollectionManager.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs args)
   at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
   at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.RadObservableCollection`1.RaiseCollectionChangedOnResume()
   at Telerik.Windows.Data.RadObservableCollection`1.ResumeNotifications()
   at Telerik.Windows.Controls.GridView.GridViewDataControl.PerformSorting(GridViewSortingEventArgs sortingArgs)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.<>c__DisplayClassb7.<Sort>b__b6()
   at Telerik.Windows.Controls.CursorManager.PerformTimeConsumingOperation(FrameworkElement frameworkElement, Action action)
   at Telerik.Windows.Controls.GridView.GridViewDataControl.Sort(GridViewColumn column, Boolean appendToExisting)
   at Telerik.Windows.Controls.GridView.GridViewHeaderCell.RequestSort(Boolean appendToExisting)
   at Telerik.Windows.Controls.GridView.GridViewHeaderCell.PerformUserSort()
   at Telerik.Windows.Controls.GridView.GridViewHeaderCell.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   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.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   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.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   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)

Stefan
Telerik team
 answered on 12 Nov 2018
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
Slider
Expander
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
WebCam
CardView
DataBar
Licensing
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
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?