Стили TabControl

Я учусь использовать стили в wpf и создаю стиль для элемента управления вкладками. Я блуждал, если кто-нибудь может рассказать, как я могу остановить распространение стиля вниз, например, у меня есть элемент управления вкладкой, в котором один из элементов табуляции содержит другой элемент управления вкладкой, закрываемых элементов табуляции (да, вложенный TabControl O.o).

Таким образом, в моем первом UserControl он содержит «Master» TabControl, этот UserControl также имеет UserControl.Rescource, у которого есть стиль для этого TabControl. Этот стиль распространяется на вложенный элемент управления вкладками, как я могу предотвратить это?

Другая вкладка хранится в отдельном классе usercontrol. Выглядит примерно так:

<UserControl.Resources>
    <Style TargetType="{x:Type TabControl}">
        <Setter Property="SnapsToDevicePixels" Value="true"/>
        <Setter Property="Template">
         ...
         <!-- The Style -->
         ...
</UserControl.Resources>

<TabControl SelectedIndex="{Binding Path=TabIndexFocus}">
    <TabItem Header="Tab1" IsEnabled="{Binding Path=IsEnabled_WorkSpace}" >
        <View:NestedTabControl/>
    </TabItem>
    <TabItem Header="Tab2">
        <View:SomeOtherView />
    </TabItem> 
    .....
</TabControl>


Всем спасибо :D


person Heinrich    schedule 09.01.2012    source источник


Ответы (1)


Сделайте копию всего шаблона стиля по умолчанию, затем я бы рекомендовал поместить его в отдельный словарь ресурсов, но в любом случае вы присвоите шаблону стиля уникальное имя x:Key, например;

<Style x:Key="NonDefaultTabControlStyle" Target="{x:Type TabControl}">

Затем в самом элементе управления вкладками вызовите свой конкретный шаблон стиля, например;

<TabControl Style="{StaticResource NonDefaultTabControlStyle}" ....>

Когда вы укажете шаблон стиля с уникальным именем, он будет использовать его, если вы этого не сделаете, он будет использовать значение по умолчанию. Надеюсь, это поможет и удачи!

person Chris W.    schedule 09.01.2012
comment
Потрясающе, спасибо, чувак: D Да, добрался до словаря ресурсов, просто пытаюсь сначала его создать: D Еще раз спасибо :) - person Heinrich; 09.01.2012