2012-03-31 43 views
1

OK,我想創建一個控件,就像是在左邊有一個TextBlockStackpanel,是這樣的:WPF控件開發理念

Picture

TextBlock需要可編輯。所以,問題是我需要從誰那裏繼承,因爲不能從Stackpanel

回答

5

這基本上是一個HeaderedItemsControl與自定義Template

該模板可能是一個Grid有兩列,其中一列包含一個旋轉的ContentPresenter,它綁定到標題屬性,在右邊你將有一個ItemsPresenter的項目。

例如

<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

你能提供一些代碼請? – Bip 2012-03-31 16:51:54

+2

@PragragPejic:新增了一個例子,你可能需要使用['TemplateBindings'](http://msdn.microsoft.com/en-us/library/ms742882.aspx)來連接更多的屬性。 – 2012-03-31 16:58:08