added samples
[windows-sources.git] / sdk / samples / WPFSamples / TabControlContentTemplateSelector / csharp / window1.xaml.cs
blob7911733cab2f95dd6d8f76b7e864bfc46b4ca997
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.Windows;
5 using System.Windows.Controls;
6 using System.Windows.Data;
7 using System.Windows.Documents;
8 using System.Windows.Input;
9 using System.Windows.Media;
10 using System.Windows.Media.Imaging;
11 using System.Windows.Shapes;
14 namespace TabControlContentTemplateSelector
16 /// <summary>
17 /// Interaction logic for Window1.xaml
18 /// </summary>
20 public partial class Window1 : System.Windows.Window
23 public Window1()
25 InitializeComponent();
28 void infoBtn_Click(object sender, RoutedEventArgs e)
30 if (tabCtrl1.SelectedContent is Person)
32 Person selectedPerson = tabCtrl1.SelectedContent as Person;
33 StringBuilder personInfo = new StringBuilder();
35 personInfo.Append(selectedPerson.FirstName);
36 personInfo.Append(" ");
37 personInfo.Append(selectedPerson.LastName);
38 personInfo.Append(", ");
39 personInfo.Append(selectedPerson.HomeTown);
40 MessageBox.Show(personInfo.ToString());
46 public class PersonTemplateSelector : DataTemplateSelector
48 public override DataTemplate SelectTemplate(object item, DependencyObject container)
51 // The content of each TabItem is a Person object.
52 if (item is Person)
54 Person person = item as Person;
56 Window win = Application.Current.MainWindow;
58 // Select one of the DataTemplate objects, based on the
59 // person's home town.
60 if (person.HomeTown == "Seattle")
62 return win.FindResource("SeattleTemplate") as DataTemplate;
64 else
66 return win.FindResource("DetailTemplate") as DataTemplate;
71 return null;