Emr*_*eli 3 c# wpf xaml tabs material-design
所以,我安装了这个“XAML 中的材料设计”包,它顺利地改变了我的所有控件,使其更加时尚。
只有选项卡控件似乎具有旧设计。我查了一下,但我唯一能找到的是这个“Dragablz Tab Control”,你可以拖拽。好吧,我不希望我的用户拖拽或撕毁我的标签。
所以,我正在寻找一种方法,可以像其他控件一样为我的 tabcontrol 设置外观。或者使 Dragablz tabcontrol 不可拖动和不可撕裂。我能做什么?
这是一个 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)
看一下MaterialDesignExtensions。除其他外,它们还有 TabControl 的样式。
<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)
<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)
看起来不错: