WPF TabControl with Materials Design(没有 Dragablz)

Emr*_*eli 3 c# wpf xaml tabs material-design

所以,我安装了这个“XAML 中的材料设计”包,它顺利地改变了我的所有控件,使其更加时尚。

只有选项卡控件似乎具有旧设计。我查了一下,但我唯一能找到的是这个“Dragablz Tab Control”,你可以拖拽。好吧,我不希望我的用户拖拽或撕毁我的标签。

所以,我正在寻找一种方法,可以像其他控件一样为我的 tabcontrol 设置外观。或者使 Dragablz tabcontrol 不可拖动和不可撕裂。我能做什么?

fru*_*ero 6

这是一个 Dragablz tabcontrol 不可拖动和不可撕裂的示例:

<dragablz:TabablzControl FixedHeaderCount="3">
   <TabItem Header="HELLO">
      <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">Hello World</TextBlock>
   </TabItem>
   <TabItem Header="MATERIAL">
      <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">Material Design</TextBlock>
   </TabItem>
   <TabItem Header="DESIGN">
      <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">Looks Quite Nice</TextBlock>
   </TabItem>                             
</dragablz:TabablzControl>
Run Code Online (Sandbox Code Playgroud)

您可以将FixedHeaderCount属性值设置为tabscontrol 上的选项卡数量,以使这些选项卡固定。(从源码可以看出)

/// <summary>
/// Allows a the first adjacent tabs to be fixed (no dragging, and default close button will not show).
/// </summary>
public int FixedHeaderCount
{
   get { return (int) GetValue(FixedHeaderCountProperty); }
   set { SetValue(FixedHeaderCountProperty, value); }
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ros 6

看一下MaterialDesignExtensions。除其他外,它们还有 TabControl 的样式。

  1. 首先安装 Nuget 包并将样式添加到您的 App.xaml中,如本例所示
<ResourceDictionary.MergedDictionaries>
    <!-- Other MaterialDesign resource stuff -->
    <ResourceDictionary Source="pack://application:,,,/MaterialDesignExtensions;component/Themes/Generic.xaml" />
    <ResourceDictionary Source="pack://application:,,,/MaterialDesignExtensions;component/Themes/MaterialDesignLightTheme.xaml" />
</ResourceDictionary.MergedDictionaries>
Run Code Online (Sandbox Code Playgroud)
  1. 然后,只需设置选项卡控件的样式:
<TabControl Style="{StaticResource MaterialDesignTabControl}">
    <TabItem Header="Tab 1">
        <!-- Your tab content -->
    </TabItem>
    <TabItem Header="Tab 2">
        <!-- Your tab content --> 
    </TabItem>
</TabControl>
Run Code Online (Sandbox Code Playgroud)

看起来不错:

在此输入图像描述