如何动态添加Expander.header?

时间:2017-04-10 10:33:15

标签: c# wpf xaml

我不知道如何命名,所以我不知道谷歌的用途,所以我决定在这里问。

我的XAML代码是:

<Expander ExpandDirection="Right">
    <Expander.Header>
        <TextBlock Text="PC and Notebook" RenderTransformOrigin=".5,.5">
            <TextBlock.LayoutTransform>
                <RotateTransform Angle="90" />
            </TextBlock.LayoutTransform>
        </TextBlock>
    </Expander.Header>
    <TreeView>

    </TreeView>
</Expander>

所以我想把这个XAML代码变成Code-Behind(for while循环)。 我从简单开始:

Expander cat_expander = new Expander();
cat_expander.ExpandDirection = ExpandDirection.Right;

现在我的问题是。如何动态添加<Expander.Header>?当一个Control在其中有另一个控件时,人们如何命名这个东西?

我希望你能理解我的意思。

1 个答案:

答案 0 :(得分:2)

您将Header属性设置为TextBlock

Expander cat_expander = new Expander();
cat_expander.ExpandDirection = ExpandDirection.Right;
TextBlock textBlock = new TextBlock();
textBlock.Text = "PC and Notebook";
textBlock.RenderTransformOrigin = new Point(0.5, 0.5);
textBlock.LayoutTransform = new RotateTransform() { Angle = 90 };
cat_expander.Header = textBlock;
cat_expander.Content = new TreeView();