2012-04-15 202 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

回答