Sunday, 13 April 2014


When I was developing some XAML page, I encountered one situation where I experienced some intermittent bug from WPF. Some of my buttons will go disabled at times even if the CommandParameter bind to a buttons command has proper value to enable button. Below is the solution for this.

You all may have experienced an annoying behavior of visual studio while developing WPF XAML.
Say for example Visual Studio consumes large amounts of memory and shows Not Responding message on a regular basis while designing XAML
This is because of the XAML designer (Microsoft Visual Studio XAML UI Designer) which visual studio loads while editing XAML. There will be one for each XAML that you open for editing.

While in the process of module initialization, if there is any error in a module, then PRISM will throw exception and will stop loading other modules until you fix the error in the module. But if your module is not really important in your application, you would like to suppress this module initialization error and continue loading other modules.

You can achieve this with the help of Behavior in WPF. Create one multiselect behavior and attach it to RadGridView. This way you can avoid any code behind code altogether and can implement multiselect in proper MVVM way.

How to Sort RadGridView in ascending order based on a column value when it is loaded.


     Here in this article I am introducing a WPF IP-Control. This control is a simple to use IP-Address control made out of WPF text box control. You can use this IP-Address control in any Microsoft WPF/Silverlight application. This control is inherited from TextBox control. This can be used like any text box control. But the display will be rendered to look like an IP-Address control. Below is the image of the proposed WPF IP-Address Control.

How to use this IP-Address Control? 

     Attached here in this article is the IP-Address Control class. You can download it from Github page. Contribution to this control is appreciated. It can be used like any other TextBox control. You can bind or enter any valid IP-Address value to this control but the output will be rendered in an IP-Address v4 format. Now we will see how we can use this control in a xaml.

<wizardDemo:IPControl Height="25" Width="100" Text="{Binding IPText, Mode=TwoWay}" />

In this article you will see how to implement multiselect in WPF DataGrid in proper way when you are following MVVM pattern. In this article you will see how to implement a behavior to your DataGrid so that we can achieve multiselect.
Behaviors are introduced with Expression Blend, to encapsulate pieces of functionality into a reusable component. These components can then be attached to controls to give them an additional behavior.

WPF Controls like DataGrid have default shortcut keys. For example, if you try to select any row and press Delete button then the grid row will be deleted. This is the default behavior. We can disable it in MVVM way by using InputBindings. InputBindings represents a binding between an input gesture and a command.
 When you create an enterprise application, Keyboard shortcuts are a must. Enterprise applications will need keyboard shortcuts to execute certain actions in controls which are possible only by using mouse. Keyboard shortcut is different from keyboard access key where it will help you to get the focus on to control. Here we will use InputBindings to achieve this. InputBindings represents a binding between an input gesture and a command.