2012-03-12 4 views
1

私は私のタブコントロールに設定されたタブのコンテンツテンプレートを持っている:WPFのいくつかのタブで別のテンプレートをレンダリングするには?

<TabControl   SelectedIndex="0" 
        ItemsSource="{Binding Tabs}" 
        ItemTemplate="{StaticResource AppTabItemTemplate}" 
        ContentTemplate="{StaticResource AppTabContentTemplate}" /> 

事は倍の大半は、現在のテンプレートを望んでいたが、私が代わりに別のテンプレートを表示したい場合がありますされていることです。アイテムソースは、このデータを表示するかどうかにかかわらず、このデータを提供しますが、XAMLで「if」を実行して、他のレイアウトが必要なときに代替UIを使用するにはどうすればよいですか?

このロジックは、このタブコントロールを含むテンプレートまたはXAMLが含まれている必要がありますか? UI間の決定に使用される情報は、アイテムソースにあります。

+3

['ItemTemplateSelector'](http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.itemtemplateselector.aspx) –

答えて

2

DataTemplateSelectorを使用してください。

DataTemplateSelectorを派生させるクラスで選択ロジックを定義し、XAMLでセレクタのリソースを作成し、そのリソースをタブコントロールのItemTemplateSelectorプロパティに割り当てることで使用する必要があります。

関連する問題