WPF入门3:UniformGrid布局

转载源小宅博客:http://www.bilibili996.com/Course?id=5079381000085

一.UniformGrid布局:

介绍了前面的Grid,接下来介绍的这个UniformGrid 就是Grid的简化版,每个单元格的大小相同,不需要定义行列集合。
每个单元格始终具有相同的大小,每个单元格只能容纳一个控件,将自动按照定义在其内部的元素个数,自动创建行列,并通常保持相同的行列数。
UniformGrid 中没有Row 和Column 附加属性,也没有空白单元格。

与Grid布局控件相比,UniformGrid布局控件很少使用。
Grid面板是用于创建简单乃至复杂窗口布局的通用工具。
UniformGrid面板是一个一种更特殊的布局容器,主要用于在一个刻板的网格中快速地布局元素。

1.基础案例:

效果图:
WPF入门3:UniformGrid布局_第1张图片

代码如下:


    
        
            
            
            
            
        
    

2.使用C#代码实现10个TextBlock控件布局:

实现效果,当点击“第四个(1,1)”按钮时,将界面变化为如下效果:
WPF入门3:UniformGrid布局_第2张图片

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WPFDemo
{
    /// 
    /// MainWindow.xaml 的交互逻辑
    /// 
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void btnAddByCode_Click(object sender, RoutedEventArgs e)
        {
            UniformGrid wp = new UniformGrid();
            //将wp添加为窗体的子控件
            this.Content = wp;
            wp.Margin = new Thickness(10,20,50,100);
            wp.Background = new SolidColorBrush(Colors.Orange);
            //遍历增加Rectangles
            TextBlock block;
            for (int i = 0; i <= 10; i++)
            {
                block = new TextBlock();
                block.Text = $"第{i}个";
                wp.Children.Add(block);
            }
        }
    }
}

你可能感兴趣的:(WPF,wpf,c#,开发语言)