将扩展器控件标题加粗
本文关键字:标题 控件 扩展器 | 更新日期: 2023-09-27 18:06:29
我将在运行时动态创建n扩展器控件的数量,如下所示,
theExpanderCaption[counter] = new TextBlock();
theExpanderCaption[counter].FontWeight = FontWeights.Bold;
theExpanderCaption[counter].Text = ITEMIMP.DataConstants.GroupIds.GetGroupCaption(group.GroupId);
theGroupExpander[counter] = new Expander();
theGroupExpander[counter].Header = theExpanderCaption[counter];
theGroupExpander[counter].Margin = new Thickness(10);
theGroupExpander[counter].HorizontalAlignment = HorizontalAlignment.Left;
theGroupExpander[counter].IsExpanded = true;
theGroupExpander[counter].Content = this.theGroupGrids[counter];
theGroupExpander[counter].Style = null;
在上面的代码中,我使用文本块数组来设置扩展头(使其粗体)。这里的缺点是我必须使用n没有文本块控件。还有其他方法吗?
这将有助于查看您的标记,但我假设您有这样的内容:
<Expander Header="My Header">
...
</Expander>
你可以像这样指定标题,并设置所有你想要的格式选项:
<Expander>
<Expander.Header>
<TextBlock Text="My Header" FontWeight="Bold" />
</Expander.Header>
...
</Expander>
在您的窗口/页面资源中添加以下内容。这将应用于窗口
中的所有展开器。 <DataTemplate x:Key="HeaderTemplate">
<TextBlock Text="{Binding}"
VerticalAlignment="Center"
FontWeight="Bold"
Width="{Binding
RelativeSource={RelativeSource
Mode=FindAncestor,
AncestorType={x:Type Expander}},
Path=ActualWidth}"
TextWrapping="Wrap"/>
</DataTemplate>
<Style TargetType="{x:Type Expander}">
<Setter Property="HeaderTemplate" Value="{StaticResource HeaderTemplate}"/>
</Style>
您可以在运行时创建FormattedText并设置为Header。在FormattedText的构造函数中,你可以定义前景画笔