WPF中通過代碼設置控件的坐標


用WPF做貪吃蛇小游戲時,發現了一個問題:

貪吃蛇的移動,我是通過不斷刷新Rectangle來實現(貪吃蛇的身體由一組Rectangle組成),因此需要不斷調整Rectangle的坐標,但是WPF中沒有Location的相關設置

在網上查到可以用Thickness實現

Rectangle Rec = new Rectangle();
Rec.Margin = new Thickness(1, 2, 3, 4);

但總是調不准

其實可以通過Canvas實現

Canvas介紹

用代碼實現Canvas:

// Create the application's main window
mainWindow = new Window ();
mainWindow.Title = "Canvas Sample";

// Create the Canvas
myParentCanvas = new Canvas();
myParentCanvas.Width = 400;
myParentCanvas.Height = 400;

// Define child Canvas elements
myCanvas1 = new Canvas();
myCanvas1.Background = Brushes.Red;
myCanvas1.Height = 100;
myCanvas1.Width = 100;
Canvas.SetTop(myCanvas1, 0);
Canvas.SetLeft(myCanvas1, 0);

myCanvas2 = new Canvas();
myCanvas2.Background = Brushes.Green;
myCanvas2.Height = 100;
myCanvas2.Width = 100;
Canvas.SetTop(myCanvas2, 100);
Canvas.SetLeft(myCanvas2, 100);

myCanvas3 = new Canvas();
myCanvas3.Background = Brushes.Blue;
myCanvas3.Height = 100;
myCanvas3.Width = 100;
Canvas.SetTop(myCanvas3, 50);
Canvas.SetLeft(myCanvas3, 50);

// Add child elements to the Canvas' Children collection
myParentCanvas.Children.Add(myCanvas1);
myParentCanvas.Children.Add(myCanvas2);
myParentCanvas.Children.Add(myCanvas3);

// Add the parent Canvas as the Content of the Window Object
mainWindow.Content = myParentCanvas;
mainWindow.Show ();

當然也可以通過添加Canvas控件來實現。

 

設置控件位置的方法:

var posX = 10;
var posY = 10;
Rectangle Rec = new Rectangle(); Canvas.SetLeft(Rec, posX); Canvas.SetTop(Rec, posY); 你添加的canvas名字.Children.Add(Rec);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM