欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WPF 可视化树

程序员文章站 2024-02-16 10:50:22
...

在WPF中控件玉控件之间的关系不是相邻就是叠加。
WPF的控件有了Content的概念,所以控件与控件之间又多出一种关系----包含。因为以窗体为根的包含关系,整个WPF的UI才形成树形结构,我们称之为可视化树(Visual Tree)。

可视化树代码:

<Window x:Class="WpfApplication1.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApplication1"
        mc:Ignorable="d"
        Title="Window1" Height="300" Width="300">
    <Grid>
        <Button Margin="10">
            <Button Margin="10">
                <Button Margin="10">
                    <Button Margin="10">
                        <Button Margin="10">
                            <Button Margin="50">
                                按钮
                            </Button>
                        </Button>
                    </Button>
                </Button>
            </Button>
        </Button>
    </Grid>
</Window>

_
从代码中我们可以看到把一个Button按钮作为另一个Button按钮的Content,然后使它们呈现出一种叠加的效果。每个Button按钮中作为Button按钮的内容都是用Margin外边距隔离开的,因为没有设置Button按钮的宽度,所以上面的Button按钮除了第一个窗口默认大小之外,其它的都是从里面使用Margin外边距顶出来的。

效果如下图所示:
WPF 可视化树
如上图所示就是可视化树了,看起来有一种按钮叠加起来的效果,其实只不过是Button按钮的Content中添加Button所呈现出来的罢了。

相关标签: WPF