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下配置 在类路 ...
随机推荐
- 《玩转Bootstrap(基础)》笔记
基本的HTML模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- unicode转GBK,GNK转unicode,解决FATFS中文码表占用ROM问题(转)
源:unicode转GBK,GNK转unicode,解决FATFS中文码表占用ROM问题 之前一直使用的512KB ROM的STM32,但是最近使用的只有128KB,想用FATFS显示支持长文件名,发 ...
- UVA 11542 Square ——线性基
[题目分析] 每个数没有超过500的因子.很容易想到把每一个数表示成一个二进制的数. (0代表该质数的次数为偶数,1代表是奇数) 然后问题转化成了选取一些二进制数,使他们的异或和为0. 高斯消元,2^ ...
- selenium Chromediver
Here we use wget to fetch the version number of the latest release, then plug the version into anoth ...
- Outlook 2013 电子邮件账户设置备份与恢复
与之前版本不同,Outlook 2013需要备份以下注册表内容:HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles恢复时 ...
- 微软2017MVP大礼包拆箱攻略
容我本周偷个懒,晒个大礼包就糊弄过去了.13号晚上拿到的大礼包,激动的没敢拆,一直等到娃睡着了,才偷偷打开了快递,忍了两天没忍住,上来晒图得瑟一下,请各位轻拍,谢谢! 1.大礼包的盒子(联邦快递的盒子 ...
- gdb命令整理
Microsoft Windows XP [版本 ] (C) 版权所有 - Microsoft Corp. C:\Documents and Settings\Administrator>e: ...
- SQL Server 2005入门到精通(案例详解)
SQL Server 2005基础应用 一.数据库的基本操作 --创建数据库 create database new_db2 on primary ( name='new.mdf', filena ...
- 利用DIV+CSS制作网页过程中常用的基本概念及标签使用细节
CSS主要用于对HTML文件功能的补充及扩展,其作用就是对HTML文件中各种排版进行设置,达到对网页中字体.颜色.背景.图片等的控制,使网页能够完全依照设计者的想法来显示. CSS可以控制网页的显示, ...
- HTML 5 服务器发送事件、Input 类型、表单元素、表单属性
HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新. Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器 ...