WPF控制开发理念

Bip*_*Bip 1 c# wpf xaml user-controls wpf-controls

OK,我想创建一个控件,就像是一个StackpanelTextBlock左边,是这样的:

图片

TextBlock需要被编辑.那么,问题是我需要继承谁来制作,因为不能从Stackpanel

H.B*_*.B. 5

这基本上是HeaderedItemsControl一个习惯Template.

模板可以是一个Grid包含两列的列,一列包含一个ContentPresenter已绑定到标题属性的rotate,另一列包含一个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>
Run Code Online (Sandbox Code Playgroud)
<HeaderedItemsControl Header="Lorem Ipsum" ItemsSource="ABCDEF"/>
Run Code Online (Sandbox Code Playgroud)

  • @PredragPejic:添加了一些示例,您可能希望使用[`TemplateBindings`]连接更多属性(http://msdn.microsoft.com/en-us/library/ms742882.aspx) (2认同)