实现控件WPF(4)----Grid控件实现六方格
PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!
利用Grid控件能很轻松帮助我们实现各种布局。上面就是一个通过Grid单元格的分别实现的一个六方格的例子。
xaml代码如下:
<Window x:Class="WpfColorGrid.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="270" Width="464" Loaded="Window_Loaded"> <Grid Name="grid1" Width="auto" Height="auto" Background="#FF06092B"> <Grid.ColumnDefinitions> <ColumnDefinition Width="150"/> <ColumnDefinition Width="150" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="120" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <Label Background="Red" Margin="0,0,0,0" Grid.Column="0" Grid.Row="0">Block 1</Label> <Label Background="SkyBlue" Margin="0,0,0,0" Grid.Column="1" Grid.Row="0">Block 2</Label> <Label Background="RosyBrown" Margin="0,0,0,0" Grid.Column="2" Grid.Row="0">Block 3</Label> <Label Background="SpringGreen" Margin="0,0,0,0" Grid.Column="0" Grid.Row="1">Block 4</Label> <Label Background="RoyalBlue" Margin="0,0,0,0" Grid.Column="1" Grid.Row="1">Block 5</Label> <Label Background="Violet" Margin="0,0,0,0" Grid.Column="2" Grid.Row="1">Block 6</Label> </Grid> </Window>
其中,以下代码将一个Grid单元格分别为2行3列的六方格,本例中已将前几个单元格的Width 和Height设成固定值了;当Column的宽度或者Row的高度想通过内部元夙来决定的时,将其设置为 Auto; 当某Column的宽度或者某Row的高度想根据窗口的残余大小来自动调整时,将其设置成 *;当希望其中一项的长度是另外一项的2倍,将其设成2* 。
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="150" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="120" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
xaml.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
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 WpfColorGrid
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
}
}
}
运行程序,效果如下:
ShowGridLines="True"添加以后:
<Grid Name="grid1" Width="auto" Height="auto" ShowGridLines="True" Background="#FF06092B">
将表现边框线,效果如下:
文章结束给大家分享下程序员的一些笑话语录:
3G普不普及现在已经不是看终端了,而是看应用,有好的,便宜实用的应用,花1000多买个能用的智能手机应该不是什么难事。反过来说,你200元拿一个智能手机,没有好的应用,看个电影要几十元,也是没人用3G。
---------------------------------
原创文章 By
实现和控件
---------------------------------

浙公网安备 33010602011771号