2012-03-31 8 views
1

OK, ich möchte ein Steuerelement erstellen, die wie ein Stackpanel mit TextBlock auf der linken Seite ist, so etwas wie:WPF-Steuerelement entwickeln Idee

Picture

Die TextBlock editierbar sein müssen. Also, die Frage ist von wem ich erben muss, um das seit nicht von Stackpanel zu machen?

Antwort

5

Das ist im Grunde eine HeaderedItemsControl mit einer benutzerdefinierten Template.

Die Vorlage könnte ein Grid mit zwei Spalten, eine, die ein gedreht ContentPresenter sein, die an den Kopf Eigenschaften gebunden ist, auf der rechten Seite Sie eine ItemsPresenter für die Einzelteile haben würde.

z.B.

<Style TargetType="HeaderedItemsControl"> <!-- Implicitly applied --> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="HeaderedItemsControl"> 
       <Grid> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="Auto"/> 
         <ColumnDefinition /> 
        </Grid.ColumnDefinitions> 
        <ContentPresenter ContentSource="Header"> 
         <ContentPresenter.LayoutTransform> 
          <RotateTransform Angle="-90"/> 
         </ContentPresenter.LayoutTransform> 
        </ContentPresenter> 
        <ItemsPresenter Grid.Column="1"/> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
<HeaderedItemsControl Header="Lorem Ipsum" ItemsSource="ABCDEF"/> 
+0

könnten Sie bieten ein Stück Code pls? – Bip

+2

@PredragPejic: Beispiel hinzugefügt, möchten Sie möglicherweise weitere Eigenschaften mithilfe von ['TemplateBindings'] (http://msdn.microsoft.com/en-us/library/ms742882.aspx) verknüpfen –