黑马程序员_008布局案例:编写连连看布局

来源:互联网 发布:经典的c语言源代码网站 编辑:程序博客网 时间:2024/05/17 20:27
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

布局案例:编写连连看布局

一、编程思路

1、生成10*10的一个Grid

2、生成10*10个图片Image,随机指定他们的Source图片路径。

二、知识点

1、Random用来生成随机数,Next(a,b)取到>=a,<b的一个随机数,注意不能每次Next的时候都New一个Random

2、给Image动态设定图片:img.Source=newBitmapImage(new Uri(“1.png”,UriKind.Relative));

3、设定附加属性值的方法:Grid.SetRow。


二、源代码实现

控制界面的XAML代码:
<Window x:Class="jishuboke8.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="MainWindow" Height="350" Width="525">    <Grid  Name="gridGame" Loaded="Grid_Loaded">            </Grid></Window>
控制程序的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 jishuboke8{    /// <summary>    /// MainWindow.xaml 的交互逻辑    /// </summary>    public partial class MainWindow : Window    {        public MainWindow()        {            InitializeComponent();        }        private void Grid_Loaded(object sender, RoutedEventArgs e)        {            //在gridGame中插入10行10列            for (int i = 0; i < 10; i++)            {                RowDefinition gridRow = new RowDefinition();                gridGame.RowDefinitions.Add(gridRow);                              ColumnDefinition gridColumn = new ColumnDefinition();                gridGame.ColumnDefinitions.Add(gridColumn);            }            Random random = new Random();//定义一个产生随机整数的对象            //生成100个image控件并随机给这个100image控件设置一个source            for (int i = 0; i < 10; i++)            {                for (int j = 0; j < 10; j++)                {                    int imageName = random.Next(1, 10);//产生一个大于等1并且小于10的随机整数                    Image image = new Image();                    image.Source = new BitmapImage(new Uri("images/"+imageName+".png", UriKind.Relative));                    Grid.SetRow(image, i);//设置image行位置                    Grid.SetColumn(image, j);//设置imaage列位置                    gridGame.Children.Add(image);//将image插入到gridGame指定的行和列位置                }            }        }    }}



---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com
0 0