所以,我安装了 "Material Design In XAML" 这个包,并且它顺利地将我所有的控件变得更加时尚。但是选项卡控件只有旧设计。我查找过,但唯一找到的是可以拖动和撕开的 "Dragablz Tab Control"。我不希望我的用户拖动或撕开选项卡。
因此,我正在寻找一种方法来使我的选项卡控件像其他控件一样换肤。或者让 Dragablz tabcontrol 不能被拖动和撕裂。我该怎么办?
所以,我安装了 "Material Design In XAML" 这个包,并且它顺利地将我所有的控件变得更加时尚。但是选项卡控件只有旧设计。我查找过,但唯一找到的是可以拖动和撕开的 "Dragablz Tab Control"。我不希望我的用户拖动或撕开选项卡。
因此,我正在寻找一种方法来使我的选项卡控件像其他控件一样换肤。或者让 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>
/// <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); }
}
请看一下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>
<TabControl Style="{StaticResource MaterialDesignTabControl}">
<TabItem Header="Tab 1">
<!-- Your tab content -->
</TabItem>
<TabItem Header="Tab 2">
<!-- Your tab content -->
</TabItem>
</TabControl>
看起来相当不错:
private static void SetMaterialExtensionTheme(bool isDark)
{
var paletteHelper = new MaterialDesignExtensions.Themes.PaletteHelper();
paletteHelper.SetLightDark(isDark);
}
- Alexei Agüero Alba