&tag(WPF/TabControl);
*目次 [#p2878af0]
#contents
*参考情報 [#c7556be5]

*Tips [#b074810d]
**基本)TabControlにコレクションをBindingする [#z5d849c0]
-ItemsSourceにコレクションを設定。
-ItempTemplateでヘッダー部分のカスタマイズ。
-ContentTemplateでタブの中身のカスタマイズ。

''MainWindow.xaml''
#pre{{
        <TabControl Name="tab" ItemsSource="{Binding Persons}">
            <TabControl.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Id}"/>
                </DataTemplate>
            </TabControl.ItemTemplate>
            <TabControl.ContentTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Name}"/>
                </DataTemplate>
            </TabControl.ContentTemplate>
        </TabControl>
}}

''MainWindow.xaml.cs''
#pre{{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            this.Persons = new ObservableCollection<Person>();
            this.Persons.Add(new Person() { Id = 1, Name = "中田英寿" });
            this.Persons.Add(new Person() { Id = 2, Name = "中村俊輔" });
            this.DataContext = this;
        }

        public ObservableCollection<Person> Persons { get; set; }        
    }
}}

''Person.cs''
#pre{{
    public class Person
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}}

**タブごとに異なる内容を描画 [#n3dc4961]
-[[TabControl.ContentTemplateSelector Property (System.Windows.Controls):http://msdn.microsoft.com/en-us/library/system.windows.controls.tabcontrol.contenttemplateselector.aspx]]
-[[WPF TabControl and DataTemplates - Stack Overflow:http://stackoverflow.com/questions/1348118/wpf-tabcontrol-and-datatemplates]]

ContentTemplateSelectorを使って切り替えるのが簡単っぽい。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS