【发布时间】:2012-03-31 16:42:28
【问题描述】:
好的,我想创建一个类似于Stackpanel 的控件,左侧有TextBlock,类似于:
TextBlock 需要是可编辑的。所以,问题是我需要从谁那里继承,因为不能从 Stackpanel 继承?
【问题讨论】:
标签: c# wpf xaml user-controls wpf-controls
好的,我想创建一个类似于Stackpanel 的控件,左侧有TextBlock,类似于:
TextBlock 需要是可编辑的。所以,问题是我需要从谁那里继承,因为不能从 Stackpanel 继承?
【问题讨论】:
标签: c# wpf xaml user-controls wpf-controls
这基本上是带有自定义Template 的HeaderedItemsControl。
模板可以是具有两列的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"/>
【讨论】:
TemplateBindings 连接更多属性