【问题标题】:WPF XAML TabItem Header oh rightWPF XAML TabItem Header 哦,对了
【发布时间】:2013-12-05 22:44:25
【问题描述】:

我想为 XAML WPF 应用程序创建一个模板。

我有两个问题:

1) 我必须在 UserControl 的右上角设置 positione TabItem Header

2) 我设置了 TabItem 样式,但是当使用 tabItem 标题时,我会在文本上看到默认的 Item 效果。

<TabControl>
    <TabItem Header="{DynamicResource tab_header_graphic_interface}" Style="{StaticResource generalTabItem}">
      <ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Auto" Name="scrDrvPan">
      </ScrollViewer>
    </TabItem>
    <TabItem Header="{DynamicResource tab_header_list_view}" Style="{StaticResource generalTabItem}">
      <ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Auto" Name="scrDrvList">
      </ScrollViewer>
    </TabItem>
</TabControl>

我为 TabItem 设置样式

<Grid.Resources>
  <Style x:Key="generalTabItem" TargetType="{x:Type TabItem}">
    <Setter Property="FontFamily" Value="/Font/#Futura Std Medium" />
    <Setter Property="FontSize" Value="15" />
    <Setter Property="Foreground" Value="#FF333333" />
    <Setter Property="Background" Value="Transparent" />
    <Setter Property="BorderThickness" Value="0 0 0 0" />
    <Setter Property="BorderBrush" Value="Transparent" />
    <Setter Property="Height" Value="30" />

    <Setter Property="HeaderTemplate">
      <Setter.Value>
        <DataTemplate>
          <!--<DockPanel IsItemsHost="True" LastChildFill="False" Margin="2,2,2,0" HorizontalAlignment="Right">
          </DockPanel>-->
          <!--<ContentPresenter Content="{TemplateBinding Property=TabItem.Header}"/>-->
          <TextBlock Background="Transparent" Text="ciao" />
        </DataTemplate>

      </Setter.Value>
    </Setter>
    <Style.Triggers>
      <Trigger Property="TabItem.IsSelected" Value="True">
        <Setter Property="FontFamily" Value="/Font/#Futura Std Bold" />
        <Setter Property="Cursor" Value="Hand" />
        <Setter Property="FontSize" Value="15" />
        <Setter Property="Foreground" Value="#FF333333" />
        <Setter Property="Background" Value="Transparent" />
        <Setter Property="BorderThickness" Value="0 0 0 0" />
        <Setter Property="BorderBrush" Value="Transparent" />
        <Setter Property="Height" Value="30" />
      </Trigger>
      <Trigger Property="TabItem.IsFocused" Value="True">
        <Setter Property="FontFamily" Value="/Font/#Futura Std Bold" />
        <Setter Property="Cursor" Value="Hand" />
        <Setter Property="FontSize" Value="15" />
        <Setter Property="Foreground" Value="#FF333333" />
        <Setter Property="Background" Value="Transparent" />
        <Setter Property="BorderThickness" Value="0 0 0 0" />
        <Setter Property="BorderBrush" Value="Transparent" />
        <Setter Property="Height" Value="30" />
      </Trigger>
    </Style.Triggers>
  </Style>
</Grid.Resources>

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    您是否在 HeaderTemplate DataTemplate 中尝试过这个?`

    <TextBlock Background="Transparent" Text="{Binding}" HorizontalAlignment="Right" VerticalAlignment="Top" />
    

    【讨论】:

    • 我试过了......它不起作用:-(我需要应用 Horizo​​ntalAlignment 不是在单个 TabItem 元素上,而是在所有 TabItem 的父容器上......我不知道所以将此配置应用于XAML
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多