しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

WPF メモ (23)

TabControl にコレクションをバインドするときには TabControl.ItemTemplate と TabControl.ContentTemplate を使えばおっけー。

<TabControl x:Name="tabControl">
    <TabControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=Name}"/>
        </DataTemplate>
    </TabControl.ItemTemplate>
    <TabControl.ContentTemplate>
        <DataTemplate>
            <ListBox/>
        </DataTemplate>
    </TabControl.ContentTemplate>
</TabControl>

のように XAML でテンプレートを書いて

var items = new[]
{
    new { Name = "Recent" }, new { Name = "Replies" }, new { Name = "Archive" }, new { Name = "Message" }
};

tabControl.ItemsSource = items;

コレクションを用意して ItemsSource に突っ込むだけで、Name の中身をヘッダに持つ TabItem が 4 つ表示されます。

思いっきり MiniTwitter 用に調べてたんですが、ちょっと躓いたのでメモしておきます。