Happy Codings - Programming Code Examples
Html Css Web Design Sample Codes CPlusPlus Programming Sample Codes JavaScript Programming Sample Codes C Programming Sample Codes CSharp Programming Sample Codes Java Programming Sample Codes Php Programming Sample Codes Visual Basic Programming Sample Codes


CSharp Programming

CSharp > Code Examples

Bind a TabControl to a data source

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
Bind a TabControl to a data source <Window x:Class="TabControlUsingItemTemplate.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:src="clr-namespace:TabControlUsingItemTemplate" Title="TabControlUsingItemTemplate" Height="250" Width="250"> <Window.Resources> <ObjectDataProvider x:Key="TabListResource" ObjectType="{x:Type src:TabList}" /> <DataTemplate x:Key="HeaderTemplate"> <TextBlock Text="{Binding Path=Header}" /> </DataTemplate> <DataTemplate x:Key="ContentTemplate"> <TextBlock Text="{Binding Path=Content}" /> </DataTemplate> </Window.Resources> <DockPanel> <TabControl ItemsSource="{Binding Source={StaticResource TabListResource}}" ItemTemplate="{StaticResource HeaderTemplate}" ContentTemplate="{StaticResource ContentTemplate}"/> </DockPanel> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Collections.ObjectModel; namespace TabControlUsingItemTemplate { public partial class Window1 : System.Windows.Window { public Window1() { InitializeComponent(); } } public class TabItemData { private string _header; private string _content; public TabItemData(string header, string content) { _header = header; _content = content; } public string Header { get { return _header; } } public string Content { get { return _content; } } } public class TabList : ObservableCollection<TabItemData> { public TabList(): base() { Add(new TabItemData("Header 1", "Content 1")); Add(new TabItemData("Header 2", "Content 2")); Add(new TabItemData("Header 3", "Content 3")); } } }