WPF使用DockPanel停靠面板布局

 更新时间:2022年02月25日 10:39:33   作者:.NET开发菜鸟  
这篇文章介绍了WPF使用DockPanel停靠面板布局的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

DockPanel:停靠面板

DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中。停靠面板类似于WinForm中控件的Dock属性。DockPanel会对每个子元素进行排序,并将根据指定的边进行停靠,多个停靠在同侧的元素则按顺序排序。在DockPanel中,指定停靠边的控件,会根据定义的顺序占领边角,所有控件绝不会交叠。

默认情况下,后添加的元素只能使用剩余空间,无论对DockPanel的最后一个子元素设置任何停靠值,该子元素都将始终填满剩余的空间。如果不希望最后一个元素填充剩余区域,可以将DockPanel属性LastChildFill设置为false,还必须为最后一个子元素显式指定停靠方向。

1、填充整个剩余空间

使用XAML代码实现:

<Window x:Class="WpfDemo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="DockPanel面板" Height="237" Width="525" WindowStartupLocation="CenterScreen">
    <DockPanel>
        <Button DockPanel.Dock="Left" Content="ButtonLeft"></Button>
        <Button DockPanel.Dock="Top" Content="ButtonTop"></Button>
        <Button DockPanel.Dock="Right" Content="ButtonRight"></Button>
        <Button DockPanel.Dock="Bottom" Content="ButtonBottom"></Button>
        <Button  Content="ButtonTop"></Button>
    </DockPanel>
</Window>

2、最后元素不填充剩余空间

使用XAML代码实现:

<Window x:Class="WpfDemo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="DockPanel面板" Height="237" Width="525" WindowStartupLocation="CenterScreen">
    <DockPanel LastChildFill="False">
        <Button DockPanel.Dock="Left" Content="ButtonLeft"></Button>
        <Button DockPanel.Dock="Top" Content="ButtonTop"></Button>
        <Button DockPanel.Dock="Right" Content="ButtonRight"></Button>
        <Button DockPanel.Dock="Bottom" Content="ButtonBottom"></Button>
        <Button  DockPanel.Dock="Top" Content="最后一个Button不填充剩余空间"></Button>
    </DockPanel>
</Window>

到此这篇关于WPF使用DockPanel停靠面板布局的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • .net core 6.0 通过依赖注入注册和使用上下文服务的教程

    .net core 6.0 通过依赖注入注册和使用上下文服务的教程

    在.NET Core 6.0 中,获取上下文的方式取决于您使用的技术栈和具体的应用程序类型,这篇文章主要介绍了.net core 6.0 通过依赖注入注册和使用上下文服务的教程,需要的朋友可以参考下
    2023-12-12
  • 国产化之银河麒麟安装.netcore3.1的详细步骤(手动安装)

    国产化之银河麒麟安装.netcore3.1的详细步骤(手动安装)

    这篇文章主要介绍了国产化之银河麒麟安装.netcore3.1的详细步骤(手动安装),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#反射的一些应用

    C#反射的一些应用

    初始听说反射是可以动态的调用程序集,并从中来获取相应的方法和属性,感觉比较神奇,,,
    2013-02-02
  • aspx 中文汉字显示为乱码

    aspx 中文汉字显示为乱码

    要保证文件本身为utf-8编码格式。 .cs文件也是一样。
    2008-12-12
  • asp.net编程获取项目根目录实现方法集合

    asp.net编程获取项目根目录实现方法集合

    这篇文章主要介绍了asp.net编程获取项目根目录实现方法,结合实例形式分析总结了asp.net针对项目目录的操作技巧与注意事项,需要的朋友可以参考下
    2015-11-11
  • ASP.NET批量下载文件的方法

    ASP.NET批量下载文件的方法

    这篇文章主要介绍了ASP.NET批量下载文件的方法,实例汇总了常见的asp.net实现批量下载的方法,具有一定的实用价值,需要的朋友可以参考下
    2014-11-11
  • .net使用自定义类属性实例

    .net使用自定义类属性实例

    这篇文章主要介绍了.net使用自定义类属性实例,详细讲述了自定义类属性的原理及实现方法,需要的朋友可以参考下
    2014-10-10
  • Cookies的各方面知识(基础/高级)深度了解

    Cookies的各方面知识(基础/高级)深度了解

    Cookies想必所有人都了解本文将围绕Cookies基础知识(什么是Cookies/Cookies如何传递/Cookies如何存储/Cookies如何查看)Cookies高级知识/Cookie的限制等等方方面面深入了解,感兴趣的朋友可以参考下,或许对你学习cookies有所帮助
    2013-02-02
  • asp.net url分页类代码

    asp.net url分页类代码

    asp.net url分页类代码,需要用到分页的朋友可以参考下。
    2009-11-11
  • ASP.NET Core中的依赖问题解决方法示例

    ASP.NET Core中的依赖问题解决方法示例

    这篇文章主要为大家介绍了ASP.NET Core中的依赖问题解决方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08

最新评论