2012-04-15 147 views
0

所以玩弄扩展器控制和我遇到此代码设置扩展器颜色,同时关闭。但我注意到膨胀机的箭头部分保持白色。有没有办法去除箭头或区域的颜色?更改扩展器箭头

屏幕截图:

enter image description here

裸记住我对这个没有经验可言的,我不知道如何编辑模板等

<Page 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Width="400" OpacityMask="#91000000"> 
    <StackPanel> 
     <StackPanel.Resources> 

      <Style TargetType="Border" x:Key="RacePitBorderStyle" > 
       <Style.Resources> 
        <LinearGradientBrush x:Key="BackBrush" StartPoint="0.5,0" EndPoint="0.5,1"> 
         <GradientStop Color="#EF3132" Offset="0.1" /> 
         <GradientStop Color="#D62B2B" Offset="0.9" /> 
        </LinearGradientBrush> 
       </Style.Resources> 
       <Setter Property="Background" Value="{StaticResource BackBrush}"/> 
      </Style> 

      <DataTemplate x:Key="titleText"> 
       <Border Style="{StaticResource RacePitBorderStyle}" Height="24"> 
        <TextBlock Text="{Binding}" 
         Margin="4 0" 
         VerticalAlignment="Center" 
         Foreground="White" 
         FontSize="11" 
         FontWeight="Normal" 
         Width="{Binding 
         RelativeSource={RelativeSource 
         Mode=FindAncestor, 
         AncestorType={x:Type Expander}}, 
         Path=ActualWidth}" 
         TextWrapping="Wrap"/> 
       </Border> 
      </DataTemplate> 

      <Style TargetType="{x:Type Expander}"> 
       <Setter Property="HeaderTemplate" Value="{StaticResource titleText}"/> 
      </Style> 

     </StackPanel.Resources> 

     <Expander Name="hcontCtrl" Header="This is the header."> 
      <StackPanel> 
       <TextBox>This is a textbox</TextBox> 
       <Button>A button</Button> 
      </StackPanel> 
     </Expander> 

    </StackPanel> 
</Page> 
+0

我已经重写了扩展器,以便在某些内容的中间可以有箭头。 H.B.是正确的,如果你想重新使用默认的样式,你需要从混合中取出样式。 – 2012-04-15 15:28:54

+0

当你把箭头放在中间时,你必须使用Blend吗?如果不是你会如此友善地发布代码? – 2012-04-15 16:14:23

+0

我没有拥有代码或不再为客户端工作,但我确实必须从Blend中提取模板。这就是WPF的工作原理(不幸的是)。 – 2012-04-15 16:19:56

回答