Telerik Forums
UI for WPF Forum
0 answers
116 views
HI,

 

I have a docking control with a single radpane in it.

I have a button which makes this rad pane active. and I want to do is that when the mouse goes outside the pane then the pane closes. But the problem is that if I move the mouse from center region to the header of the rad pane then the mouse leave event is considered which seems the radpane header is not part of the radpane?

How to achieve the correct behavior?

 

Thanks

 

Sherry

Sherry
Top achievements
Rank 1
 asked on 23 Dec 2016
3 answers
63 views

Hi,

I have multiple Radpanes in a Window, but I want to change the header of only one RadPane. How do I do it?

I can only see this

<Style TargetType="dock:PaneHeader" BasedOn="{StaticResource PaneHeaderStyle}">

But this then modifies all my pane. So could you please give me another solution?

 

Thanks

 

Sherry

Martin
Telerik team
 answered on 23 Dec 2016
1 answer
136 views

Hi, I use RadCartesianChart to display some candles, but I see only part of them on the screen (see picture). Seems that auto-scale works not well. How to show all candles?

Here is the code:

<Window x:Class="TelerikWpfApp1.MainWindow"
                xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
                Title="MainWindow" Background="#FF1E1E1E" >
    <Grid>
        <telerik:RadCartesianChart>
            <telerik:RadCartesianChart.HorizontalAxis>
                <telerik:CategoricalAxis/>
            </telerik:RadCartesianChart.HorizontalAxis>
            <telerik:RadCartesianChart.VerticalAxis>
                <telerik:LinearAxis HorizontalLocation="Right"/>
            </telerik:RadCartesianChart.VerticalAxis>
            <telerik:RadCartesianChart.Series>
                <telerik:CandlestickSeries>
                    <telerik:CandlestickSeries.DataPoints>
<telerik:OhlcDataPoint Category="04/15/2015 02:21:00" Open="-125.7368" Close="-125.7128" Low="-125.7029" High="-125.7516" />
<telerik:OhlcDataPoint Category="04/15/2015 02:22:00" Open="-125.7128" Close="-125.7367" Low="-125.6828" High="-125.7396" />
<telerik:OhlcDataPoint Category="04/15/2015 02:23:00" Open="-125.7328" Close="-125.7297" Low="-125.704" High="-125.7417" />
<telerik:OhlcDataPoint Category="04/15/2015 02:24:00" Open="-125.7327" Close="-125.7308" Low="-125.6938" High="-125.7357" />
<telerik:OhlcDataPoint Category="04/15/2015 02:25:00" Open="-125.7268" Close="-125.7069" Low="-125.6743" High="-125.7307" />
<telerik:OhlcDataPoint Category="04/15/2015 02:26:00" Open="-125.7039" Close="-125.7068" Low="-125.6941" High="-125.7128" />
<telerik:OhlcDataPoint Category="04/15/2015 02:27:00" Open="-125.7028" Close="-125.7157" Low="-125.694" High="-125.7296" />
<telerik:OhlcDataPoint Category="04/15/2015 02:28:00" Open="-125.7327" Close="-125.7056" Low="-125.6738" High="-125.7325" />
<telerik:OhlcDataPoint Category="04/15/2015 02:29:00" Open="-125.6976" Close="-125.7036" Low="-125.6918" High="-125.7116" />
<telerik:OhlcDataPoint Category="04/15/2015 02:30:00" Open="-125.7096" Close="-125.7037" Low="-125.6739" High="-125.7156" />
<telerik:OhlcDataPoint Category="04/15/2015 02:31:00" Open="-125.7057" Close="-125.6768" Low="-125.6531" High="-125.7086" />
<telerik:OhlcDataPoint Category="04/15/2015 02:32:00" Open="-125.6818" Close="-125.6688" Low="-125.666" High="-125.6947" />
<telerik:OhlcDataPoint Category="04/15/2015 02:33:00" Open="-125.6708" Close="-125.6769" Low="-125.6631" High="-125.6828" />
<telerik:OhlcDataPoint Category="04/15/2015 02:34:00" Open="-125.6789" Close="-125.666" Low="-125.6532" High="-125.6829" />
<telerik:OhlcDataPoint Category="04/15/2015 02:35:00" Open="-125.668" Close="-125.6738" Low="-125.6442" High="-125.6798" />
<telerik:OhlcDataPoint Category="04/15/2015 02:36:00" Open="-125.6828" Close="-125.6906" Low="-125.6529" High="-125.7026" />
<telerik:OhlcDataPoint Category="04/15/2015 02:37:00" Open="-125.6906" Close="-125.6816" Low="-125.6628" High="-125.7005" />
<telerik:OhlcDataPoint Category="04/15/2015 02:38:00" Open="-125.6936" Close="-125.6996" Low="-125.6738" High="-125.7036" />
<telerik:OhlcDataPoint Category="04/15/2015 02:39:00" Open="-125.6856" Close="-125.6916" Low="-125.6628" High="-125.7066" />
<telerik:OhlcDataPoint Category="04/15/2015 02:40:00" Open="-125.6886" Close="-125.6797" Low="-125.6738" High="-125.6976" />
<telerik:OhlcDataPoint Category="04/15/2015 02:41:00" Open="-125.6887" Close="-125.6738" Low="-125.644" High="-125.6937" />
<telerik:OhlcDataPoint Category="04/15/2015 02:42:00" Open="-125.6748" Close="-125.6709" Low="-125.6442" High="-125.6828" />
<telerik:OhlcDataPoint Category="04/15/2015 02:43:00" Open="-125.6629" Close="-125.68" Low="-125.6503" High="-125.6819" />
<telerik:OhlcDataPoint Category="04/15/2015 02:44:00" Open="-125.6829" Close="-125.674" Low="-125.6442" High="-125.6829" />
<telerik:OhlcDataPoint Category="04/15/2015 02:45:00" Open="-125.665" Close="-125.674" Low="-125.6443" High="-125.6879" />
<telerik:OhlcDataPoint Category="04/15/2015 02:46:00" Open="-125.68" Close="-125.6623" Low="-125.6337" High="-125.683" />
<telerik:OhlcDataPoint Category="04/15/2015 02:47:00" Open="-125.6542" Close="-125.6753" Low="-125.6445" High="-125.6831" />
<telerik:OhlcDataPoint Category="04/15/2015 02:48:00" Open="-125.6833" Close="-125.6803" Low="-125.6627" High="-125.6832" />
<telerik:OhlcDataPoint Category="04/15/2015 02:49:00" Open="-125.6773" Close="-125.6912" Low="-125.6634" High="-125.692" />
<telerik:OhlcDataPoint Category="04/15/2015 02:50:00" Open="-125.6912" Close="-125.6781" Low="-125.6742" High="-125.7031" />
                    </telerik:CandlestickSeries.DataPoints>
                </telerik:CandlestickSeries>
            </telerik:RadCartesianChart.Series>
        </telerik:RadCartesianChart>
    </Grid>
</Window>
Martin Ivanov
Telerik team
 answered on 23 Dec 2016
2 answers
286 views

Hi Telerik,

I have two Control Panel Items set in a single style for all my grids. The column chooser icon that comes out of the box looks fine. but I can't find where I can change the other one. Where can I learn more about how those icons are defined? I would like some sort of an arrow pointing down.

Here is the code for the ControlPanelItemCollection

<telerik:ControlPanelItemCollection>
                    <telerik:ControlPanelItem>
                        <telerik:ControlPanelItem.ButtonContent>
                            <Path Width="16" Height="16" HorizontalAlignment="Center" VerticalAlignment="Center" Data="F1M511.6665,467.2715C509.6575,468.2995,507.1905,467.5095,506.1635,465.5005C505.1325,463.4915,505.9265,461.0325,507.9355,460.0005C509.9445,458.9745,512.4095,459.7695,513.4375,461.7745C514.4695,463.7825,513.6775,466.2405,511.6665,467.2715 M518.5605,462.8565L517.8825,460.0155L515.3935,460.2825C515.1415,459.8585,514.8505,459.4725,514.5225,459.1275L515.4435,456.8975L512.9515,455.3645L511.3965,457.2925C510.8575,457.1515,510.3025,457.0815,509.7415,457.0775L508.7675,454.9135L505.9375,455.6715L506.2705,458.0665C505.8795,458.3075,505.5215,458.5835,505.2025,458.8835L503.0535,458.0005L501.5175,460.4875L503.3665,461.9795C503.2315,462.4865,503.1515,463.0135,503.1415,463.5435L501.0335,464.4175L501.7125,467.2605L504.0635,467.0085C504.3355,467.4795,504.6545,467.9065,505.0235,468.2815L504.1575,470.3765L506.6475,471.9095L508.1425,470.0605C508.6495,470.1855,509.1655,470.2555,509.6925,470.2615L510.5785,472.3905L513.4255,471.7135L513.1675,469.2965C513.6075,469.0285,514.0145,468.7215,514.3635,468.3765L516.5455,469.2745L518.0815,466.7855L516.1495,465.2305C516.2665,464.7565,516.3315,464.2705,516.3385,463.7805z" Stretch="Fill" />
                        </telerik:ControlPanelItem.ButtonContent>
                        <telerik:ControlPanelItem.Content>
                            <Button Content="Export to Excel (incompleted feature)"></Button>
                        </telerik:ControlPanelItem.Content>
                    </telerik:ControlPanelItem>
                    <telerik:ControlPanelItem ButtonTooltip="Column chooser" >
                        <telerik:ControlPanelItem.ContentTemplate>
                            <DataTemplate>
                                <ListBox ItemsSource="{Binding VisibleColumns}"  BorderThickness="0">
                                    <ListBox.ItemTemplate>
                                        <DataTemplate>
                                            <CheckBox Content="{Binding Header, Mode=OneWay}"
                                                  IsChecked="{Binding IsVisible, Mode=TwoWay}" />
                                        </DataTemplate>
                                    </ListBox.ItemTemplate>
                                </ListBox>
                            </DataTemplate>
                        </telerik:ControlPanelItem.ContentTemplate>
                    </telerik:ControlPanelItem>
                </telerik:ControlPanelItemCollection>

 

By the way, I dont get what is all this "Data". I just left it there from one of your samples, if you might as well please clarify this for me?

 

Thank you

 

Jacob
Top achievements
Rank 1
 answered on 23 Dec 2016
7 answers
534 views

How to set the max length of a PropertyDefinition  

Like the textbox' s maxlength property

rui
Top achievements
Rank 1
 answered on 23 Dec 2016
1 answer
145 views

Hi,

Is there an example anywhere of a user being able to click on a chart and auto-create a text annotation based on a double-click or a right-click?
They would need to be able to add multiple annotations.
They would need to be able to delete annotations (i.e. right click on the annotation itself to delete).

We need the ability for users to create their own annotations directly within the chart area..

Thanks,

Barry

Martin Ivanov
Telerik team
 answered on 23 Dec 2016
1 answer
284 views

Hi,

 

Is there an example anywhere of a user being able to click on a chart and auto-create a line annotation based on when the mouse button went down and where it went back up again after the mouse was dragged ?

This seems tantamount to drawing a straight line and then adding a label to it.

They would need to be able to add multiple lines.

They would need to be able to delete lines.

 

We need the ability for users to create their own annotations directly within the chart area, using their mouse.

 

Thanks,

Barry

 

Martin Ivanov
Telerik team
 answered on 23 Dec 2016
2 answers
328 views

In response to a button command my VM inserts a record at index 0 into  the observablecollection that is bound to the gridview.

Now that I have it in the collection a new row automagically appears in the radgrid at the beginning. I'm trying to be a good boy and keep knowledge of my UI out of the VM. My gridview is marked as IsReadOnly = true. I only  allow editing via raddataform attached to the rowdetails. My questions are:

1. How to automatically expand the row details of a newly inserted row (using MVVM)?

2. Once they hit update the newly added row seems to be moved by the gridview to it's rightful place in the sort order. This is great.However, if you are using datapager the row could be moved to an unknown page leaving the user wondering where their new record went. I know there is a ScrollIntoView function, but I'm not sure I should be using that in a VM. Even if I did, how would I know what row to scroll to after it's been resorted? So, how can I get a newly added, newly sorted row to scroll to be the first row visible regardless of which page in the pager it lands and have it's rowdetail editor expanded using MVVM?

Any help would be greatly appreciated.

Thanks ... Ed

 

 

 

Randy Hompesch
Top achievements
Rank 1
 answered on 22 Dec 2016
1 answer
111 views

Hello!

 

- Setting Telerik.Windows.Controls.MultidayViewDefinition.MinorTickLength to Zero causes a ContextSwitchDeadlock during debugging and freezes the application when having the respective ViewDefinition active or on switching to the particular ViewDefinition.

- Setting Telerik.Windows.Controls.MultidayViewDefinition.MajorTickLength or Telerik.Windows.Controls.TimelineViewDefinition.GroupTickLength to Zero both cause a System.OutOfMemoryException when having the respective ViewDefinition active or on switching to the particular ViewDefinition.

- In XAML, when setting the MinorTickLength="0min" of the first and currently in the Designer active ViewDefinition will cause Visual Studio to freeze up entirely and needs to be terminated via the TaskManager.

- In XAML, when setting the MajorTickLength="0min" or GroupTickLength="0min" of the first and currently in the Designer active ViewDefinition will render Visual Studio unresponsive for a few seconds until displaying that a System.OutOfMemoryException has occurred.

 

Here's my example code to reproduce the crashes and freezes:

<Window x:Class="WpfApplicationProgressTelerik.MainWindow"
        xmlns:local="clr-namespace:WpfApplicationProgressTelerik"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.Resources>
            <local:MyViewModel x:Key="MyViewModel" />
        </Grid.Resources>
        <StackPanel>
            <telerik:RadButton
                Content="Click Me!"
                DataContext="{StaticResource MyViewModel}"
                Command="{Binding Command}" />
            <telerik:RadScheduleView
                DataContext="{StaticResource MyViewModel}"
                AppointmentsSource="{Binding Appointments}">
                <telerik:RadScheduleView.ViewDefinitions>
                    <telerik:DayViewDefinition
                        MinorTickLength="{Binding DayViewDefinitionMinorTickLength}"
                        MajorTickLength="{Binding DayViewDefinitionMajorTickLength}" />
                    <telerik:WeekViewDefinition
                        MinorTickLength="{Binding WeekViewDefinitionMinorTickLength}"
                        MajorTickLength="{Binding WeekViewDefinitionMajorTickLength}" />
                    <telerik:TimelineViewDefinition
                        MajorTickLength="{Binding TimelineViewDefinitionMajorTickLength}"
                        MinorTickLength="{Binding TimelineViewDefinitionMinorTickLength}"
                        GroupTickLength="{Binding TimelineViewDefinitionGroupTickLength}" />
                </telerik:RadScheduleView.ViewDefinitions>
            </telerik:RadScheduleView>
        </StackPanel>
    </Grid>
</Window>

 

using System;
using System.Collections.ObjectModel;
using System.Windows.Input;
using Telerik.Windows.Controls;
using Telerik.Windows.Controls.ScheduleView;
 
namespace WpfApplicationProgressTelerik
{
    internal class MyViewModel : ViewModelBase
    {
        private ObservableCollection<Appointment> appointments;
        public ObservableCollection<Appointment> Appointments
        {
            get
            {
                if (this.appointments == null)
                {
                    this.appointments = this.CreateAppointments();
                }
                return this.appointments;
            }
        }
 
        private ObservableCollection<Appointment> CreateAppointments()
        {
            var apps = new ObservableCollection<Appointment>();
 
            var app1 = new Appointment
            {
                Subject = "Front-End Meeting",
                Start = DateTime.Today.AddHours(9),
                End = DateTime.Today.AddHours(10)
            };
            apps.Add(app1);
 
            var app2 = new Appointment
            {
                Subject = "Planning Meeting",
                Start = DateTime.Today.AddHours(11),
                End = DateTime.Today.AddHours(12)
            };
            apps.Add(app2);
 
            return apps;
        }
 
        public ICommand Command { get; }
 
        public ITickProvider DayViewDefinitionMinorTickLength { get; private set; }
        public ITickProvider DayViewDefinitionMajorTickLength { get; private set; }
        public ITickProvider WeekViewDefinitionMinorTickLength { get; private set; }
        public ITickProvider WeekViewDefinitionMajorTickLength { get; private set; }
        public ITickProvider TimelineViewDefinitionMinorTickLength { get; private set; }
        public ITickProvider TimelineViewDefinitionMajorTickLength { get; private set; }
        public ITickProvider TimelineViewDefinitionGroupTickLength { get; private set; }
 
        internal MyViewModel()
        {
            Command = new DelegateCommand(SetTickProvider);
        }
 
        private void SetTickProvider(object obj)
        {
            DayViewDefinitionMinorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            DayViewDefinitionMajorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            WeekViewDefinitionMinorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            WeekViewDefinitionMajorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            TimelineViewDefinitionMinorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            TimelineViewDefinitionMajorTickLength = new FixedTickProvider(DateTimeInterval.Zero);
            TimelineViewDefinitionGroupTickLength = new FixedTickProvider(DateTimeInterval.Zero);
 
            OnPropertyChanged(nameof(DayViewDefinitionMinorTickLength)); //ContextSwitchDeadlock
            OnPropertyChanged(nameof(DayViewDefinitionMajorTickLength)); //System.OutOfMemoryException
            OnPropertyChanged(nameof(WeekViewDefinitionMinorTickLength)); //ContextSwitchDeadlock
            OnPropertyChanged(nameof(WeekViewDefinitionMajorTickLength)); //System.OutOfMemoryException
            OnPropertyChanged(nameof(TimelineViewDefinitionMinorTickLength)); //ContextSwitchDeadlock
            OnPropertyChanged(nameof(TimelineViewDefinitionMajorTickLength)); //System.OutOfMemoryException
            OnPropertyChanged(nameof(TimelineViewDefinitionGroupTickLength)); //System.OutOfMemoryException
        }
    }
}

 

In my opinion it would be helpful to immediately throw a System.ArgumentOutOfRangeException when setting an invalid (or even better when creating an invalid instance of) Telerik.Windows.Controls.ScheduleView.ITickProvider.

What do you think?

Best wishes!

Stefan
Telerik team
 answered on 22 Dec 2016
6 answers
784 views

I saw there was a post about this several years back, but the OP never followed up..

I am getting the " System.Windows.Media.Animation Warning: 6 : Unable to perform action because the specified Storyboard was never applied to this object for interactive control.; Action='Stop'; Storyboard='System.Windows.Media.Animation.Storyboard'; Storyboard.HashCode='11303829'; Storyboard.Type='System.Windows.Media.Animation.Storyboard'; TargetElement='System.Windows.Media.Animation.Storyboard'; TargetElement.HashCode='11303829'; TargetElement.Type='System.Windows.Media.Animation.Storyboard' "

 

I have tried everything I can think of (hopefully not missing something small and silly..).  

Here is the storyboard itself in the UserCont

<Storyboard x:Key="FlashingPanel" RepeatBehavior="Forever" AutoReverse="True">
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)"
                                   Storyboard.TargetName="TaskPanelItem">
        <EasingDoubleKeyFrame KeyTime="0:0:0.8" Value="0" />
    </DoubleAnimationUsingKeyFrames>
</Storyboard>

 

Here is the 'grid' section that utilizes the storyboard.

<Grid Grid.Column="1" Grid.Row="1">
            <telerik:RadPanelBar x:Name="TaskRadPanel"
                                 Background="{StaticResource UserControlbackground}"
                                 Width="Auto"
                                 Height="Auto"
                                 Orientation="Horizontal"
                                 Margin="5, 8, 5, 10"
                                 BorderBrush="Transparent"
                                 FocusVisualStyle="{x:Null}"
                                 ItemContainerStyle="{StaticResource TaskRadPanelItemStyle}">
 
                <telerik:RadPanelBarItem x:Name="TaskPanelItem"
                                         HeaderTemplate="{StaticResource MyTaskHeaderTemplate}"
                                         HorizontalContentAlignment="Right">
                     
                        <telerik:RadPanelBarItem.Triggers>
                            <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                                <EventTrigger.Actions>
                                    <BeginStoryboard x:Name="MyFlashingStory" Storyboard.TargetName="TaskPanelItem"  
 Storyboard="{StaticResource FlashingPanel}"/>
                                </EventTrigger.Actions>
                            </EventTrigger>
                        </telerik:RadPanelBarItem.Triggers>
                     
                     
                        <i:Interaction.Triggers>
 
                            <ei:DataTrigger Binding="{Binding MyTeamHasTasks, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Value="True">
                                <ei:ControlStoryboardAction Storyboard="{StaticResource FlashingPanel}"
                                                        ControlStoryboardOption="Play" />
                            </ei:DataTrigger>
 
                            <ei:DataTrigger Binding="{Binding MyTeamHasTasks, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Value="False">
                                <ei:ControlStoryboardAction Storyboard="{StaticResource FlashingPanel}"
                                                        ControlStoryboardOption="Pause" />
                            </ei:DataTrigger>
 
                            <i:EventTrigger EventName="Expanded" SourceName="TaskPanelItem">
                            <ei:ControlStoryboardAction Storyboard="{StaticResource FlashingPanel}"
                                                        ControlStoryboardOption="Stop" />
                        </i:EventTrigger>
                         
                        <i:EventTrigger EventName="Collapsed" SourceName="TaskPanelItem">
                            <ei:ControlStoryboardAction Storyboard="{StaticResource FlashingPanel}"
                                                        ControlStoryboardOption="Play" />
                        </i:EventTrigger>
                         
                    </i:Interaction.Triggers>
                     
                    <telerik:RadListBox ItemsSource="{Binding MyTeamTaskList}" >
                        <telerik:RadListBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <StackPanel Orientation="Vertical" />
                            </ItemsPanelTemplate>
                        </telerik:RadListBox.ItemsPanel>
                        <telerik:RadListBox.ItemTemplate>
                            <DataTemplate>
                                <Grid>
                                    <TextBlock Text="{Binding Description}"
                                               FontFamily="Sengo UI"
                                               FontSize="14"
                                               VerticalAlignment="Center"
                                               Foreground="RoyalBlue" />
                                </Grid>
                            </DataTemplate>
                        </telerik:RadListBox.ItemTemplate>
                    </telerik:RadListBox>
 
                </telerik:RadPanelBarItem>
            </telerik:RadPanelBar>
        </Grid>

 

MyTeamHasTasks is a boolean in my ViewModel.

 

First EventTrigger Expanded: ControlStoryboardAction: Stop  - Throws System.Windows.Media.Animation Warning: 6.

Second EventTrigger Collapsed: ControlStoryboardAction: Play - Works fine.

 

If I expand the TaskPanel again (firing the first eventtrigger from above) everything works as it should at this point and on..

 

BUT the VERY first time the ControlStoryboardAction: Stop is executed, it gives the System.Windows.Media.Animation Warning: 6.

 

For testing purposes, I replaced the binding boolean field (MyTeamHasTasks) with a checkbox and then bound the checkbox to the boolean field (MyTeamHasTasks), this route does not give me any issues...  Makes me wonder why it doesn't work they way I initially implemented it as it achieves the same thing.

 

Any idea as to how I can get around this?  I do not think this is a bug, I feel like I have possibly not implemented this accurately.

I'd like to do this without ANY code-behind.

Martin Ivanov
Telerik team
 answered on 22 Dec 2016
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
HighlightTextBlock
Security
TouchManager
StepProgressBar
VirtualKeyboard
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?