Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么不显示metro选项卡项的关闭按钮?_C#_Wpf_Tabcontrol_Mahapps.metro_Tabitem - Fatal编程技术网

C# 为什么不显示metro选项卡项的关闭按钮?

C# 为什么不显示metro选项卡项的关闭按钮?,c#,wpf,tabcontrol,mahapps.metro,tabitem,C#,Wpf,Tabcontrol,Mahapps.metro,Tabitem,我试图通过编程方式添加MetroTabItem MainWindow.xaml.cs private void AddTabItem(UserControl control,string Header) { MetroTabItem mahtab = new MetroTabItem(); mahtab.Content = control; mahtab.DataContext = control;

我试图通过编程方式添加
MetroTabItem

MainWindow.xaml.cs

private void AddTabItem(UserControl control,string Header)
        {
            MetroTabItem mahtab = new MetroTabItem();
            mahtab.Content = control;
            mahtab.DataContext = control;
            mahtab.Header = Header;
            mahtab.CloseButtonEnabled = true;
            mahtab.Style = (Style)FindResource("TabItem");
            mahtab.IsSelected = true;
            maintab.Items.Add(mahtab);
        }
MainWindow.xaml

<Style x:Key="TabItem" BasedOn="{StaticResource MetroTabItem}" TargetType="{x:Type Controls:MetroTabItem}">
            <Setter Property="CloseButtonEnabled" Value="True"></Setter>
            <Setter Property="Controls:ControlsHelper.HeaderFontSize" Value="20"></Setter>        

        </Style>


当我这样添加时,
TabItem
标题字体大小正常,但
CloseButtonEnabled
不正常。为什么请告诉我。谢谢。

您使用了错误的基本样式(
MetroTabItem
)。您必须继承无键
MetroTabItem
样式,如下所示:

<Style x:Key="TabItem" BasedOn="{StaticResource {x:Type Controls:MetroTabItem}}" TargetType="{x:Type Controls:MetroTabItem}">
  <Setter Property="CloseButtonEnabled" Value="True"></Setter>
  <Setter Property="Controls:ControlsHelper.HeaderFontSize" Value="20"></Setter>        
</Style>


希望这能有所帮助。

您将错误的基本样式(
MetroTabItem
)用于自己的样式。您必须继承无键
MetroTabItem
样式,如下所示:

<Style x:Key="TabItem" BasedOn="{StaticResource {x:Type Controls:MetroTabItem}}" TargetType="{x:Type Controls:MetroTabItem}">
  <Setter Property="CloseButtonEnabled" Value="True"></Setter>
  <Setter Property="Controls:ControlsHelper.HeaderFontSize" Value="20"></Setter>        
</Style>


希望这能有所帮助。

这两个选项之间有什么区别?其中之一是自定义TabItem类(MetroTabItem),它使用隐式主题样式。另一个是为所有默认WPF选项卡项设置的样式键(MetroTabItem)的名称。因此,如果要覆盖自定义TabItem类MetroTabItem,则必须从主题样式继承。这两个类之间有什么区别?其中之一是使用隐式主题样式的自定义TabItem类(MetroTabItem)。另一个是为所有默认WPF选项卡项设置的样式键(MetroTabItem)的名称。因此,如果要覆盖自定义TabItem类MetroTabItem,则必须从主题样式继承。