2012-04-15 13 views
0

So herumspielen mit dem Expander-Steuerelement und ich stolperte über diesen Code, um die Farbe des Expanders im geschlossenen Zustand einzustellen. Aber ich bemerkte, dass der Pfeilteil des Expanders weiß blieb. Gibt es eine Möglichkeit, entweder den Pfeil zu entfernen oder diese Region zu färben?Ändern Expander Pfeil

Screen Shot:

enter image description here

Bare daran habe ich keine Erfahrung mit dieser überhaupt, und ich weiß nicht, wie Vorlagen usw.

<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

Ich habe den Expander überarbeitet, damit ich den Pfeil in der Mitte einiger Inhalte haben konnte. H. B. ist richtig, Sie müssen den Stil von Blend ziehen, wenn Sie den Standard wiederverwenden möchten. –

+0

Ritch wenn du den Pfeil in die Mitte legst musstest du Blend verwenden? Wenn nicht, würden Sie so freundlich sein, den Code zu posten? –

+0

Ich besitze den Code nicht mehr und arbeite nicht mehr für den Client, aber ich musste die Vorlage aus Blend ziehen. So funktioniert WPF (leider). –

Antwort

1

Der Pfeil Teil des bearbeiten default control template, können Sie entweder kopieren und ändern oder erstellen Sie Ihre eigenen von Grund auf neu.