2016-04-02 13 views
0

デザイナーはなぜ偽造デザインを作成するのか、開発者を嫌う!)) これは私の仕事で、psdファイルからxaml UIを作成することです。私はそれを終えているが、私は選択されたtabItemの行を削除する方法を知らない。写真を見てください。WPF TabControl tabItemが選択されているときに行を削除する方法

これは私が得る必要があるものです。 enter image description here

これは私が得たものです。 enter image description here

どうすればこの行を削除できますか?ハードコーディングなしで可能ですか? これは、私のタブコントロールのコードです。 TabItemテンプレートで

 <TabControl.Resources> 
      <Style TargetType="TabControl"> 
       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate TargetType="{x:Type TabControl}"> 
          <Grid KeyboardNavigation.TabNavigation="Local"> 
           <Grid.RowDefinitions> 
            <RowDefinition Height="*"/> 
            <RowDefinition Height="Auto"/> 
           </Grid.RowDefinitions> 
           <Border 
            Name="Border" 
            Grid.Row="0" 
            BorderBrush="{StaticResource SolidBrush_Blue}" 
            BorderThickness="{TemplateBinding BorderThickness}" 
            KeyboardNavigation.TabNavigation="Local" 
            KeyboardNavigation.DirectionalNavigation="Contained" 
            KeyboardNavigation.TabIndex="2" > 
            <ContentPresenter 
             Name="PART_SelectedContentHost" 
             ContentSource="SelectedContent"> 
            </ContentPresenter> 
           </Border> 
           <TabPanel 
            Name="HeaderPanel" 
            Grid.Row="1" 
            Panel.ZIndex="1" 
            HorizontalAlignment="Center" 
            IsItemsHost="True" 
            KeyboardNavigation.TabIndex="1"/> 
          </Grid> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
      </Style> 

      <!-- SimpleStyles: TabItem --> 
      <Style TargetType="{x:Type TabItem}"> 
       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate TargetType="{x:Type TabItem}"> 
          <Grid 
           x:Name="grid"> 
           <Border 
            Name="Border" 
            Margin="5,0,5,0" 
            Padding="30 15 30 15" 
            CornerRadius="0 0 3 3" 
            BorderBrush="{StaticResource SolidBrush_Blue}" 
            BorderThickness="2 0 2 2" > 
            <ContentPresenter 
             x:Name="contentPresenter" 
             VerticalAlignment="Center" 
             ContentSource="Header" 
             TextBlock.Foreground="White" 
             TextBlock.FontFamily="{StaticResource FontFamilyRegular}" 
             RecognizesAccessKey="True"> 
            </ContentPresenter> 
           </Border> 
          </Grid> 
          <ControlTemplate.Triggers> 
           <Trigger Property="IsSelected" Value="True"> 
            <Setter TargetName="Border" 
              Property="Background" 
              Value="White" /> 
            <Setter TargetName="contentPresenter" 
              Property="TextBlock.FontFamily" 
              Value="{StaticResource FontFamilyBold}"/> 
            <Setter TargetName="contentPresenter" 
              Property="TextBlock.Foreground" 
              Value="{StaticResource SolidBrush_Blue}"/> 
           </Trigger> 
           <Trigger Property="IsSelected" Value="False"> 
            <Setter TargetName="Border" 
              Property="Background" 
              Value="{StaticResource SolidBrush_Blue}" /> 
            <Setter TargetName="contentPresenter" 
              Property="TextBlock.Background" 
              Value="White"/> 
            <Setter TargetName="contentPresenter" 
              Property="TextBlock.FontFamily" 
              Value="{StaticResource FontFamilyRegular}"/> 
            <Setter TargetName="contentPresenter" 
              Property="TextBlock.Foreground" 
              Value="White"/> 
           </Trigger> 
          </ControlTemplate.Triggers> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
      </Style> 
     </TabControl.Resources> 

答えて

3

国境BorderセットMargin="5,-1,5,0"ため。境界線が上に移動し、1

enter image description here

+0

うんのデフォルトの厚さとのTabControlの境界線を非表示になります! "30 15 30 15"の代わりに "Padding =" 30 18 30 15 "と入力します。完璧なもの!どうもありがとうございました。 –

関連する問題