MVVMの方法でTabItemプロパティの「ヘッダー」をバインドしたい。
「XamTabControl」の「ItemsSource」プロパティをビュー モデルのリストにバインドします ( List<MyTabItem>
MyTabItem もビューモデルです)。
ここにXAMLコードがあります
<igWindows:XamTabControl
Height="198"
HorizontalAlignment="Left"
Margin="0,54,0,0"
ItemsSource="{Binding Tabs}"
Name="xamTabControl1"
VerticalAlignment="Top"
Width="651">
<!-- this is the body of the TabItem template-->
<igWindows:XamTabControl.ItemTemplate>
<DataTemplate>
<TextBlock
Text="{Binding Header}" />
</DataTemplate>
</igWindows:XamTabControl.ItemTemplate>
<igWindows:XamTabControl.ContentTemplate>
<!-- this is the body of the TabItem template-->
<DataTemplate>
<TextBlock
Text="{Binding Content}" />
</DataTemplate>
</igWindows:XamTabControl.ContentTemplate>
</igWindows:XamTabControl>
これがビューモデルです。
private ObservableCollection<TabItem> tabs;
public ObservableCollection<TabItem> Tabs
{
get
{
return tabs;
}
set
{
tabs = value;
NotifyPropertyChanged("Tabs");
}
}
タブ ヘッダーを表示するために、XamlTabControl の ItemTemplate 内にテキスト ブロックを挿入しました。テキスト ブロックを使用する代わりに、TabItemEx プロパティの "Header" プロパティを使用してヘッダーを表示したい。そして、「CloseButtonVisibility」プロパティにもこれを行いたいです。