2010-04-06 7 views
5

Hallo, ich frage mich, ob es möglich ist, den Kippschalter eines WPF-Expander-Reglers auf die äußerste rechte Seite auszurichten?Wie wechsle ich die WPF Expander-Steuer-Umschalttaste

+0

Warum müssen Sie solch einen langwierigen Prozess machen, wenn es einen einfachen Prozess hier in der Verbindung gibt, die unten zur Verfügung gestellt wird. http://stackoverflow.com/questions/9288342/how-to-put-wpf-expander-toggle-button-on-right –

Antwort

14

Mit WPF ist alles möglich. ;) Leider sind nicht alle Dinge einfach. Ihre beste Wette ist hier, den Expander neu zu entwerfen. Beginnen Sie mit dem Kopieren der Standardvorlage Expander, gefunden here.

Als nächstes finden Sie die Grid, die 2 Spalten enthält, eine enthält eine ToggleButton und die andere enthält eine ContentPresenter. Tauschen Sie die Spalten so aus, dass der Schalter in Spalte 1 ist. Ändern Sie dann die Spaltendefinitionsgrößen, sodass die erste Spalte die Größe eines Sterns hat und die zweite die Größe 20. Wenn Sie fertig sind, sollten Sie einen Chunk in der Vorlage haben:

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="20" /> 
    </Grid.ColumnDefinitions> 
    <ToggleButton Grid.Column="1" 
     IsChecked="{Binding Path=IsExpanded,Mode=TwoWay, 
     RelativeSource={RelativeSource TemplatedParent}}" 
     OverridesDefaultStyle="True" 
     Template="{StaticResource ExpanderToggleButton}" 
     Background="{StaticResource NormalBrush}" /> 
    <ContentPresenter Margin="4" 
     ContentSource="Header" 
     RecognizesAccessKey="True" /> 
</Grid> 

Ändern Sie die Vorlage so lange, bis Sie das gewünschte Erscheinungsbild erhalten.

BEARBEITEN: Die auf MSDN zur Verfügung gestellte Vorlage ist eine reine Version der "echten" Expandervorlage. Wenn Sie die stilisierte Expandervorlage verwenden möchten, verwenden Sie Expression Blend und kopieren Sie die vorhandene Steuerelementvorlage von einer Expander.

Verwandte Themen