WPF中通过代码设置控件的坐标
用WPF做贪吃蛇小游戏时,发现了一个问题:
贪吃蛇的移动,我是通过不断刷新Rectangle来实现(贪吃蛇的身体由一组Rectangle组成),因此需要不断调整Rectangle的坐标,但是WPF中没有Location的相关设置
在网上查到可以用Thickness实现
Rectangle Rec = new Rectangle();
Rec.Margin = new Thickness(, , , );
但总是调不准
其实可以通过Canvas实现
用代码实现Canvas:
// Create the application's main window
mainWindow = new Window ();
mainWindow.Title = "Canvas Sample"; // Create the Canvas
myParentCanvas = new Canvas();
myParentCanvas.Width = ;
myParentCanvas.Height = ; // Define child Canvas elements
myCanvas1 = new Canvas();
myCanvas1.Background = Brushes.Red;
myCanvas1.Height = ;
myCanvas1.Width = ;
Canvas.SetTop(myCanvas1, );
Canvas.SetLeft(myCanvas1, ); myCanvas2 = new Canvas();
myCanvas2.Background = Brushes.Green;
myCanvas2.Height = ;
myCanvas2.Width = ;
Canvas.SetTop(myCanvas2, );
Canvas.SetLeft(myCanvas2, ); myCanvas3 = new Canvas();
myCanvas3.Background = Brushes.Blue;
myCanvas3.Height = ;
myCanvas3.Width = ;
Canvas.SetTop(myCanvas3, );
Canvas.SetLeft(myCanvas3, ); // 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);
WPF中通过代码设置控件的坐标的更多相关文章
- WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)
Windows Community Toolkit 再次更新到 5.0.以前可以在 WPF 中使用有限的 UWP 控件,而现在有了 WindowsXamlHost,则可以使用更多 UWP 原生控件了. ...
- 在WPF中添加Windows Form控件(包括 ocx控件)
首先,需要向项目中的reference添加两个dll,一个是.NET库中的System.Windows.Forms,另外一个是WindowsFormsIntegration,它的位置一般是在C:\ ...
- WPF 中如何使用第三方控件 ,可以使用WindowsFormsHost 类
允许在 WPF 页面上承载 Windows Forms控件的元素. 命名空间: System.Windows.Forms.Integration 程序集: WindowsFormsIntegr ...
- android 中通过代码创建控件
package bvb.de.openadbwireless.circle; import android.annotation.TargetApi; import android.app.Activ ...
- WPF中MVVM模式下控件自有的事件绑定
1.原因 在WPF中单纯的命令绑定往往不能满足覆盖所有的事件,例如ComboBox的SelectionChanged事件,DataGrid的SelectionChanged事件等等,这时就可以用事件绑 ...
- 在WPF中引用WinForm的控件
以ArcEngine为例: mapControl = new AxMapControl(); MapHost.Child = mapControl; //MapHost为WindowsFormHos ...
- android在代码中四种设置控件(以及TextView的文字颜色)背景颜色的方法
http://blog.csdn.net/fth826595345/article/details/9208771 主题 TextView 转载请注明出处: http://blog.csdn.ne ...
- android在代码中四种设置控件背景颜色的方法(包含RGB)
转载请注明出处: http://blog.csdn.net/fth826595345/article/details/9208771 TextView tText=(TextView) findVi ...
- WPF中在后台实现控件样式
加入现在有一个Button的样式如下: <Style TargetType="{x:Type Button}" x:Key="MyButton">. ...
随机推荐
- Windows 10家庭版共享打印机
原文地址:http://blog.csdn.net/Purpleendurer/article/details/50498788P.s. 原文太罗嗦,简化了一下~ 启用Guest账户 按Win+X,从 ...
- Activiti-explorer 在tomcat中部署报HTTP Status 404问题
如果tomcat版本没错,请检查一下文件,将Activiti中war文件夹中的内容复制到webapp下,而不是将文件夹整个放进去……
- SQLite XXTea加密学习
这几天优化数据库读写,移植了xxtea加密到最新的数据库sqlite 3.12.2里,一些好文章放在这里.移植后,数据库读写性能异常优秀! 这几天又发现,数据库还是发生了无法写入情况,数据库崩溃掉了. ...
- KITTI数据集格式说明
由于上一篇博客所提到的论文中的训练数据是KITTI的数据集,因此如果我想要用自己的数据集进行训练的话,就需要先弄清楚KITTI数据集的格式,在以下的网址找到了说明: 首先,数据描述中是这样的: 在以下 ...
- SVM经典论文
1. P. H. Chen, C. J. Lin, and B. Schölkopf, A tutorial on ν-support vector machines, Appl. Stoch. Mo ...
- mssql java 运行
public void rlgy() throws IOException { Statement sql; ResultSet rs; String driverName = "com.m ...
- Linux TOP命令 按内存占用排序和按CPU占用排序
P – 以 CPU 占用率大小的顺序排列进程列表M – 以内存占用率大小的顺序排列进程列表 http://blog.csdn.net/xiliuhu/article/details/6449377
- ROW_NUMBER() OVER() 用法
语法 ROW_NUMBER ( ) OVER ( [ PARTITION BY value_expression , ... [ n ] ] order_by_clause ) 参数 PARTITIO ...
- zabbix agent安装与配置篇
Zabbix监控windows部署安装 Zabbix agent 在windows上安装部署 (1)手工安装zabbix agent客户端 1. 下载与解压 地址: http://www.zabb ...
- 《奥威Power-BI案例应用:带着漫画看报告》腾讯课程开课啦
元旦小假期过去了,不管是每天只给自己两次下床机会的你,还是唱K看电影逛街样样都嗨的你,是时候重振旗鼓,重新上路了!毕竟为了不给国家的平均工资水平拖后腿,还是要努力工作的.话说2016年已经过去了,什么 ...