WPF控件结构与Content理解

WPF控件结构

WPF中控件继承图

1161656-20210126175728356-1415069891
  • 我们平时所用的容器如Grid、StackPanel等都是继承Panel
  • 控件类型分为3组:内容控件、Items控件、TextBoxBase
  1. 如何理解Content?

    凡是继承ContentControl的控件,定义内容为Content,除了TextBlock用text以外,大部分都是用Content设置显示类容。

    一个窗体(容器、控件)只能有一个Content,比如

    <CheckBox >
        <CheckBox.Content>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="❤"/>
                <TextBlock Text="Hello"/>
            </StackPanel>
        </CheckBox.Content>
    </CheckBox>
    

    以Button为例,如果用Content(是Object类型的),则可以呈现出更为复杂的东西,里面可以放一个容器,比如:

     <Button Width="80" Height="30">
         <Button.Content>
             <StackPanel Orientation="Horizontal">
                 <TextBlock Text="❤"/>
                 <TextBlock Text="Hello"/>
             </StackPanel>
         </Button.Content>
     </Button>
    

    结果如下:

    QQ截图20240816175729

  2. 继承Control的大部分控件具备Padding属性,TextBlock则单独实现了内边距

    Margin:外边距。表示控件上下左右离其他控件的距离。

    Padding:内边距。比如Button,其Content离Boder的距离就是内边距。

posted @ 2024-08-16 18:16  追忆呢  阅读(33)  评论(0编辑  收藏  举报