建立一個項目,叫做LianliankanTest。
建立一個檔案夾Images用來儲存圖片,我們拖動10個圖片進入到檔案夾中:
開啟MainPage.xaml.cs,找到重寫的OnNavigatedTo方法。這個方法實在跳轉到該頁面的時候調用,所以我們把頁面的動態初始化加在這裡。
前面說到,Grid布局中主要是RowDefinition和ColumnDefinition來產生行列,我們先在MainPage.xaml中定義首頁面的Grid的name為homepage,以便後台調用。
然後在MainPage.xaml.cs,找到重寫的OnNavigatedTo方法,寫上動態添加的行列定義:
protected override void OnNavigatedTo(NavigationEventArgs e) { for (int i = 0; i < 10; i++) { RowDefinition row = new RowDefinition(); homepage.RowDefinitions.Add(row); } for (int i = 0; i < 10; i++) { ColumnDefinition col = new ColumnDefinition(); homepage.ColumnDefinitions.Add(col); } Random random = new Random(); for (int row = 0; row < 10; row++) { for (int col = 0; col < 10; col++) { Image img = new Image(); int num = random.Next(1, 10); string fileName = "ms-appx:///Images/" + num + ".jpg"; //指定圖片元素 img.Source = new BitmapImage(new Uri(fileName)); //為其指定某行某列 homepage.Children.Add(img); Grid.SetRow(img, row); Grid.SetColumn(img, col); } } }
其中,ms-appx:///是為了指定當前路徑。如果位於項目中,需要指定ms-appx:///。
運行一下就能看到 頁面的效果: