C# · 12月 25, 2021

c# – 如何在WPF中为分隔符添加标题?

我想在 WPF分隔符中添加一个标题(这样它看起来像是Group@R_239_2419@的顶行).这样做的目的是将视图分成不同的部分,我不能使用Group@R_239_2419@,因为我们的业务准则说我们必须使用分隔符……有人知道如何做到这一点吗? @H_502_2@编辑:

@H_502_2@我知道可以通过使用其他控件(即边框和文本框)来实现此解决方案,但我想知道是否可以将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); } }} @H_502_2@和风格:

<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> @H_502_2@然后使用它:

<local:HeaderedSeparator Header=”Header1″/><local:HeaderedSeparator Header=”Header2″/>