wpf后置代码中的Grid布局以及图片路径的设置
之前用Grid练习连连看布局时,遇到了几个困惑。此次就把当时的一些收获写出来,供以后翻看。
图片路径可能比较常用,所以就写在第一个了。
在xaml中,设置图片非常简单,只要把图片拷贝到资源目录(这里假设在\image下),然后再在xaml中写:
<Image x:Name="img" Source="XXX.jpg"></Image>
然而,程序界面上的内容并不是一成不变的,如果我们需要在运行时根据用户的需求改变显示图片该怎么办呢?这就要到后置代码(C#)里改了。
不过,问题来了——在代码里怎么写都会划红线。无法进行类型转换。这就要用到System.Windows.Media.Imaging类了。不过,这里就不必要引用了,因为默认已经引用了。
生成一个BitmapImage对象的实例,其构造函数接受一个Uri对象。
具体代码为:
img.Source = new BitmapImage(new Uri(@"2.jpg",UriKind.Relative));
Uri的第二个参数指定该地址为相对地址(一般不用绝对地址)。
接着是在后置代码中用Grid布局了。
首先,在xaml中添加一个Grid标签,并指定Name属性。
<Grid x:Name="grid_1"></Grid>
说明一下要用Grid将界面分为两行两列
后置代码:
ColumnDefinition cludef = new ColumnDefinition();
grid_1.ColumnDefinitions.Add(cludef);
grid_1.ColumnDefinitions.Add(cludef);
RowDefinition rowdef = new RowDefinition();
grid_1.RowDefinitions.Add(rowdef);
grid_1.RowDefinitions.Add(rowdef);
首先实例化了ColumnDefinition(列),然后grid_1添加了两列(因为只有两列,所以就不写循环了),行类同。
如果你要添加十行十列,就有必要写循环了。
结合上面的图片应用,如果要将图片放在第二行第二列怎么办呢?
这时候就要调用Grid.SetColumn和Grid.SetRow静态方法了。
Grid.SetColumn(img,1);
Grid.SetRow(img,1);
img为上文中Image标签的Name属性。
这里是1而不是2的原因是Grid布局行列是从0开始的。
wpf后置代码中的Grid布局以及图片路径的设置的更多相关文章
- DevExpress后置代码中初始化SQL数据源的方法
//初始化SQL数据源的提供者和连接字符串 函数 OK public virtual void InitSqlDataSource_ConStr(SqlDataSource sql_ds) { Con ...
- .NET在后置代码中输入JS提示语句(背景不会变白)
来源:http://niunan.iteye.com/blog/248256 Page.ClientScript.RegisterStartupScript(Page.GetType(), " ...
- 图文详解前端CSS中的Grid布局,你真的可以5分钟掌握
前言 网站的布局是一个网站设计的根本,CSS的Grid布局已经成为了未来网站布局的基本方式. 今天这篇文章我们通过图文,一起看看如何自己实现Grid布局方式. CSS 第一个Grid布局 首先我们看看 ...
- css 中的grid布局基础
CSS Grid Layout为CSS引入了一个二维网格系统.网格可用于布局主要页面区域或小型用户界面元素. 网格是一组交叉的水平和垂直线 - 一组定义列,其他行.元素可以放在网格上,以行或者列为标准 ...
- 代码中动态改变布局属性RelativeLayout.LayoutParams.addRule()
我们知道,在 RelativeLayout 布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可. 但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的 ...
- 在代码中修改TextView的DrawableRight图片
TextView的xml <TextView android:id="@+id/textciew1" android:layout_width="match_par ...
- 用mybatis做数据库处理 代码中的字段大小写 要和mapper映射设置的大小写一致(这TM不废话么,原谅我渣!~~)
简单描述情况:其实这个问题怎么说呢,有人给你说,你肯定能意识到,必须大小写对应的嘛.emmmm我现在才意识到是因为:自己在下边敲代码,配的mapper文件并没有把属性变量,和数据库里的段单独提出来做映 ...
- 从实例中学习grid布局
对于Web开发者来说,网页布局一直是个比较重要的问题. Web 布局主要经历了以下四个阶段: 1.table表格布局: 2.float浮动及position定位布局: 3.flex弹性盒模型布局,革命 ...
- web项目打包后在代码中获取资源文件
在web项目里面,有时代码里面需要引用一些自定义的配置文件,这些配置文件如果放在类路径下,项目经过打包后使用的相对路径也会发生变化,所以以下给出了三种解决方案. 一.properties下配置 在类路 ...
随机推荐
- linux之scp
传输文件夹 scp -r -P 目标端口号 文件夹名 目标用户名@目标服务器地址:目标存放地址 传输文件夹 scp -P 目标端口号 文件名 目标用户名@目标服务器地址:目标存放地址
- iOS开发——Localizable.strings
这篇写的不多,但是绝对诚意满满.不会像别人一样,要不不详细,要不罗里吧嗦一堆. 1.创建Localizable.strings文件 Command+N—>iOS—>Resource—> ...
- VB.NET中网络编程的另一种方案----system.net中的HttpWebRequest类的使用
VB.NET中网络编程的另一种方案---- system.net中的HttpWebRequest类的使用 在VB.net中进行网络编程,除了我之前写的随笔中的使用WinHttp组件进行编程,还有另一种 ...
- Dictionary使用(转)
1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib)2.描述 1).从一组键(Key)到一组值(Value)的 ...
- Intellij Idea 配置并发布tomcat项目
作为一个菜鸟,我还是很想提高自己.但是既然说了是菜鸟,当然很容易半路折翅 从刚听说intellij idea(以下简称 idea)到现在,应该有超过一个月了吧,我的电脑装了三四次系统了(刚换了一台电脑 ...
- iOS 之 关闭键盘
//方法一:关闭整个系统的键盘 [[[UIApplication sharedApplication] keyWindow] endEditing:YES]; //方法二:关闭当前页的键盘 [[sel ...
- [osgEarth]osgEarth
参考:http://bbs.osgchina.org/forum.php?mod=viewthread&tid=5484&extra=page%3D1&_dsign=70b15 ...
- 小结IE6的坑
1.z-index在position:relative/absolute等定位属性设置后还是无效,会导致top栏的导航栏目的子菜单被下面的层遮住,无法显示:解决办法:?http://www.wufan ...
- 【中国人大:天地人大BBS站】迟到的求职感悟
转自 http://i.cnblogs.com/EditPosts.aspx?opt=1 研究生最后一年,我参加了一个500强外企实习,单纯幼稚的小姑娘立马被白领工作的那种光鲜亮丽给迷惑了,同时听说可 ...
- js与AMD模块加载
目的: 了解AMD规范与CMD规范,写一个模块加载器雏形. 基本概念: AMD是异步模块定义规范,而CMD是通用模块定义规范.其他的还有CommonJS Modules规范. 对于具体的规范,可以参考 ...