• WPF 控件专题 UniformGrid 控件详解


    1、UniformGrid 介绍
        官方释义:提供一种在网格(网格中的所有单元格都具有相同的大小)中排列内容的方法。

    **************************************************************************************************************

    2、UniformGrid 常用的属性

        Margin:获取或设置元素的外边距。

        Name:元素的标识名称;

        Opacity:透明度

        Width/Height:宽度和高度;

        Visibility:该元素可见性;

        Rows:获取或设置网格中的行数;

        Columns:获取或设置网格中的列数;

        FirstColumn    获取或设置网格第一行中前导空白单元格的数量,必须小于属性的值 Columns;

        方法:

        ArrangeOverride(Size):通过在所有子元素之间平均分配空间来定义 UniformGrid 的布局,或者说是获取或设置网格中的列数。

        MeasureOverride(Size):通过测量所有子元素计算 UniformGrid 的期望大小。

    **************************************************************************************************************

    3、具体示例

    1. <UniformGrid Columns="3" Rows="3" FirstColumn="0">
    2. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    3. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    4. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    5. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    6. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    7. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    8. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    9. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    10. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    11. <!--第十张图像超出行列范围,故不显示,若图像少于行列的总数,则留空白区域-->
    12. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    13. </UniformGrid>
    14. <!--不设置行列,自动缩放填充-->
    15. <UniformGrid FirstColumn="0">
    16. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    17. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    18. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    19. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    20. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    21. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    22. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    23. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    24. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    25. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    26. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    27. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    28. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    29. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    30. <Image Margin="2" Source="./huahua.png" Stretch="Fill"/>
    31. </UniformGrid>

    通过后台代码创建也可以实现,接下来看看示例:

    1. public MainWindow()
    2. {
    3. InitializeComponent();
    4. //引用命名空间:using System.Windows.Controls.Primitives;
    5. UniformGrid uniformGrid = new UniformGrid();
    6. uniformGrid.Columns = 4;
    7. uniformGrid.Rows = 4;
    8. uniformGrid.FirstColumn = 0;
    9. for (int i = 1; i < 15; i++)
    10. {
    11. Image image = new Image();
    12. image.Source = new BitmapImage(new Uri(@"huahua.png", UriKind.Relative));
    13. image.Stretch = Stretch.Fill;
    14. image.Margin = new Thickness(2);
    15. image.Name = "image" + i;
    16. uniformGrid.Children.Add(image);
    17. }
    18. ((this as Window).Content as Grid).Children.Add(uniformGrid);
    19. }

    **************************************************************************************************************

    4、效果图

    设置行列属性为3行3列,运行后只显示9张图像,第十张图像是被隐藏的;

    不设置行列属性,则自动填充效果图;

    通过后台代码创建效果图;

    **************************************************************************************************************

    5、总结和扩展

        UniformGrid 相当于简化版本的Grid,也属于布局控件的一种;

        对于 Grid 的属性 Grid.Row 、Grid.Column 和 Grid.RowSpan 、Grid.ColumnSpan 用在 UniformGrid 上会没有任何的效果(可以写上去,因为是附加属性);

    **************************************************************************************************************

  • 相关阅读:
    【附源码】Python计算机毕业设计三亚技师学院远程作业提交系统
    玄机平台应急响应—Linux入侵排查
    Visual Studio Code 中编译和调试 CMake 项目(Milvus Knowhere为例)
    设计模式之中介者模式
    CSS——过渡、形变、动画
    6个小技巧,帮助职场新人培养项目管理能力
    【java期末复习题】第14章 网络程序设计
    己二酸行业发展趋势
    虚拟博物馆和纪念馆全景漫游
    【数字IC设计】VCS门级网表仿真
  • 原文地址:https://blog.csdn.net/BYH371256/article/details/125271398