4

ItemsPanelTemplateなどの他のコントロールでを使用したListBoxので、同じことを行うのTabControlは簡単だと思いました。

どうやら、私は何かが欠けていて、私がTabControlに置いたものを完全に無視していItemsPanelTemplateます。

私はこのようなxamlを持っています:

<TabControl TabStripPlacement="Right" ItemsSource="{Binding Components}">
     <TabControl.ItemsPanel>
          <ItemsPanelTemplate>
               <WrapPanel />
          </ItemsPanelTemplate>
     </TabControl.ItemsPanel>
</TabControl>

に置き換えてみてWrapPanelUniformGrid違いがあり、同じように動作するかどうかを確認しました。私はControlTemplateforを持っていますがTabItem、それを削除しようとしましたが、違いはなかったので、それが私の問題に影響を与えているとは思いません。

4

1 に答える 1

6

あなたはおそらく、Templateではなく、を上書きしようとしていますItemsPanel

上書きTabControl.ItemTemplate(またはTabItem.Template)して、上部にあるタブの外観を変更しTabControl.ContentTemplateたり、タブのコンテンツに使用されるテンプレートを変更したりTabControl.Template、TabControlのテンプレート全体を変更したりできます。

TabControlにItemsPanelがあることすら知りませんでした。私はこれをItemsControlでのみ使用しました。ここで、ItemsPanelは、コレクション内のアイテムを含むコントロールの種類に影響を与えます。TabControlにそのプロパティがある場合、それは基本クラスから継承したためだけだと思います

于 2011-11-17T19:30:03.930 に答える