Tutorials - C#, WPF, ASP.NET MVC, WCF, Entity Framework, AngularJS and MVVM Frameworks - MVVM Light - DotNetPattern.com

WPF Architecture

WPF is a successor of Windows Forms. Earlier Windows Forms uses the Windows Graphics Device Interface (GDI+) for rendering any graphics, and drawing text. WPF is a new framework for developing rich Windows smart client applications that uses the DirectX technology behind the scene. WPF is resolution-independent because WPF uses vector graphics for drawing the controls on the sc...

Continue Reading

WPF Tab Control - Introduction

WPF TabControl is used for grouping multiple items that share the same space. TabControl consists of multiple TabItem controls. One one TabItem is visible at one time. A TabItem has two areas. Header Content Header is an area for specifying the header of TabItem. All Tab Items headers are always visible. Content is an area for specifying the child...

Continue Reading

WPF TabControl - Binding

TabControl provides a ItemsSource property to bind list of items. ItemsSource takes any collection object which implements the IEnumerable interface. We bind TabControl with the List<T> or ObservableCollection<T> list classes. Below is the example TabControl binding with list of MyTabItem class. TabControl Binding Example Create a new MyTab...

Continue Reading

WPF Tab Control - Templates

WPF TabControl provides two templates property for changing the UI for Header and Content area. ItemTemplate - Get/Set DataTemplate for TabItem Header. ContentTemplate - Get/Set DateTemplate for TabItem Content. ItemTemplate ItemTemplate is used for changing the DataTemplate of Header section of TabItem. By default, Header DataTemplate call the ToString meth...

Continue Reading

WPF Tab Control - Selection

TabControl provides two main properties for selection of Items. SelectedItem SelectedIndex TabControl SelectedItem SelectedItem property is used for getting and setting the selected object of WPF TabControl. You bind item list into the ItemsSource property of TabControl and set the SelectedItem property to object which you want to selected first. <Ta...

Continue Reading

WPF Tab Control - FlowDirection

FlowDirection in WPF TabControl is used for setting the content flow direction of UI elements in header and content area.  FlowDirection is an enum which has only two values: LeftToRight (Default) RightToLeft LeftToRight By default, any TabControl set the FlowDirection property to LeftToRight. In this, all the UI controls in header and cont...

Continue Reading

WPF Tab Control - TabStripPlacement

TabStripPlacement is an important propety of TabControl. It is used for setting the Header alignment relative to tab content. You can set below four values in TabStripPlacement. Left Top (Default) Right Bottom I have given all four examples of TabStripPlacement. Left Set header to left position like below: <TabControl x:Name="TabC...

Continue Reading

WPF Tab Control - Close Button

A very common requirement in TabControl is to show a close button (X) near the end of header of each TabItem. We can use ItemTemplate to customize the header section and show a close button (X) at the end of TabItem header. Close Button Example <Grid> <Grid.Resources> <DataTemplate x:Key="CustomHeaderTemplate"> <DockPanel Last...

Continue Reading

C# Reflection Introduction

Reflection in C# is a big topic in itself. I'll summarize a little list of what you can do with reflection. Get currently executing assembly, load assembly, get assembly from type Get classes declared in assemblies Get methods, properties, fields, events, constructors declared in classes Check access modifiers of classes, properties, fields and me...

Continue Reading

C# Reflection - What is Assembly?

Assembly is the main unit in .NET applications. Assembly is a collection of types and its information. There are two types of assemblies: Executable files (EXE) Libraries (DLL) Both type of assemblies includes information about types and its members in its metadata. There are three ways to get Assembly instances: Geting assembly instance from type...

Continue Reading

Join our newsletter and get an occasional email with a technology and DotNetPattern.com news update.