我想在
WPF分隔符中添加一个标题(这样它看起来像是GroupBox的顶行).这样做的目的是将视图分成不同的部分,我不能使用GroupBox,因为我们的业务准则说我们必须使用分隔符……有人知道如何做到这一点吗?
编辑:
我知道可以通过使用其他控件(即边框和文本框)来实现此解决方案,但我想知道是否可以将Header属性添加到Separator对象.
解决方法
您可以编写自己的自定义控件
public class HeaderedSeparator : Control { public static DependencyProperty HeaderProperty = DependencyProperty.Register( "Header",typeof(string),typeof(HeaderedSeparator)); public string Header { get { return (string)GetValue(HeaderProperty); } set { SetValue(HeaderProperty,value); } } }
和风格:
<Style TargetType="{x:Type local:HeaderedSeparator}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type local:HeaderedSeparator}"> <Grid Height="{TemplateBinding Height}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="15"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition /> </Grid.ColumnDefinitions> <Separator Grid.Column="0"/> <TextBlock Grid.Column="1" VerticalAlignment="Center" Margin="5 0" Text="{TemplateBinding Header}"/> <Separator Grid.Column="2" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>
然后使用它:
<local:HeaderedSeparator Header="Header1"/> <local:HeaderedSeparator Header="Header2"/>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。