6

我正在以编程方式在堆栈面板中创建“n”个文本块。我需要更改“n”个文本块的字体大小(字体大小的增加和减少)。是否可以在单个语句中更改所有子堆栈面板的字体大小?如果不可能,如何有效解决?

4

4 回答 4

12

您可以在标记中应用样式:

<StackPanel.Resources>
<Style TargetType="TextBlock">
  <Setter Property="FontSize" Value="20"/>
</Style>
</StackPanel.Resources>
于 2013-03-04T09:15:19.190 回答
4

是的,您可以参考下面的代码片段,其中“foobar”指的是您的 Stackpanel 的名称。

        foreach (var children in foobar.Children)
        {
            (children as TextBlock).FontSize = 20;
        }
于 2013-03-04T07:14:54.960 回答
2

如果您想要所有子元素另一种样式,为什么不使用“ContentControl”?

例如像这样:

    <GroupBox Header="Some Header" FontSize="18" FontWeight="Bold">
        <ContentControl FontSize="14" FontWeight="Normal">
        ....
        </ContentControl
    <GroupBox>

All elements inside the ContentControl Block will be st with normal weight and a size of 14.
于 2019-09-23T05:34:32.637 回答
1

您可以使用样式将值应用于 . 中所有TextBlocks的属性StackPanel

抱歉之前的错误答案。

于 2013-03-04T07:24:51.080 回答