首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TabControl样式

TabControl样式
EN

Stack Overflow用户
提问于 2012-01-09 09:34:43
回答 1查看 748关注 0票数 1

我正在学习如何在wpf中使用样式,并且正在为Tab控件创建样式。我在想,是否有人能告诉我如何阻止样式向下传播,例如,我有一个Tab控件,其中一个选项卡项包含另一个可关闭的选项卡项,(是的嵌套tabcontrol O.o)。

所以在我的第一个UserControl中,它包含了“主”TabControl,这个UserControl也有一个UserControl.Rescource,它有一个TabControl的样式。这种样式向下传播到嵌套的tabcontrol,我如何才能阻止这种情况的发生?

另一个选项卡控件保存在单独的用户控件类中。看起来像这样:

代码语言:javascript
复制
<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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-09 09:43:08

复制整个默认样式模板,然后我建议将其放在单独的资源字典中,但无论哪种方式,您都会为样式模板指定一个唯一的x:Key名称,如下所示;

代码语言:javascript
复制
<Style x:Key="NonDefaultTabControlStyle" Target="{x:Type TabControl}">

然后,在选项卡控件本身中调用您的特定样式模板,如;

代码语言:javascript
复制
<TabControl Style="{StaticResource NonDefaultTabControlStyle}" ....>

当你指定唯一命名的样式模板时,它将使用它,当你不指定时,它将使用默认值。希望这能帮上忙,祝你好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8783057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档