Windows Phone实用教程:利用Blend为程序添加设计时数据
【前言】
Blend自诞生那一天起就伴随这开发者如此的评价:
有VS还用Blend干啥,直接码代码就好了。
Blend会生成一堆垃圾无用代码,很不爽。
对于这类我只会在心里评价,当你并不真正了解一样事物的情况下,就给这个东西扣帽子,实在很不公平。
作为程序员首先要明白时间的宝贵和效率的重要性,更应了解各种效能工具,Blend便是其中一个,如果你仍然觉得学怎么用Blend纯粹是浪费时间,
那么恭喜你,后面的文章可以忽略了:-)
【本文讲述的内容】
使用blend为程序添加设计时的数据。
【本文适用的场景】
很多应用由于本身的性质决定了,其数据来源是远端网络,因此调整UI时非常不方便,多数情况调UI的过程是:
1、调整UI布局
2、运行程序
3、等待数据加载
4、数据加载完毕后看是否还有UI问题,如果有则goto 1
如此效率非常的低,本文介绍的方法可以将流程调整为:
1、添加设计时数据源
2、调整UI布局
3、调整UI布局
4、调整UI布局
省去联机调试,提高效率。
【正文】
一、实现思路
Blend本身提供了SampleData功能,此功能可以根据Model的定义自动生成一个SampleData文件,又提供了d:DataContext 和d:DesignData来指定设计时的DataContext。二者结合便可以实现前面说到的效果。
二、具体步骤
1、我们首先创建程序的Model和主页面的MainpageViewModel
Model:
ViewModel:
接下来打开blend找到Data选项卡,点击右方第一个按钮
这里看到三个选项,我们选择第三个,根据类来创建Sample Data:
接下来选择MainpageViewModel:
之后我们观察工程目录,会看到如下新添加的信息:多出了一个Xaml文件。
打开看一看,可以看到自动生成了如下数据,包括VM中定义的Title以及ModelList列表,并且自动为列表加入了随机的数据
看到这里可能读者会有一个疑问,SampleData会不会增大程序的包呢?
如果存在这个疑问说明你是个细心的读者,考虑很周全,那么我们看下这个SampleData文件的属性:
可以清楚的看到Build Action是DesignData Do not copy。也就是锁这个文件不会被打包的程序的安装包中。
最后一步:
在page中指定d:DataContext按下面的格式写:
在页面内容中加个简单的列表,定义简单的模版:
最后我们Build一下。再看VS的编辑器里面Sample数据就显示出来了
【更多功能】
我们甚至可以在Blend的Data选项卡下,每个属性最右面的按钮中选择数据的格式,如下图:
SampleData文件中的数据便会根据选择的格式重新生成对应的数据了。:-)
【总结】
以上办法非常简单,并且十分遍历,极大的提高了开发效率,因此推荐给大家,如有任何疑问欢迎加入
WP交流群:182659848
Windows Phone实用教程:利用Blend为程序添加设计时数据的更多相关文章
- 在Windows系统下用命令把应用程序添加到系统服务
在Windows系统下用命令把应用程序添加到系统服务,使用SC命令. 加入服务格式如下:sc create ServiceName binPath= 程序路径 start= auto(等号后面的空格是 ...
- 图像处理控件ImageGear for .NET教程如何为应用程序 添加DICOM功能(2)
在前面的一些关于图像处理控件ImageGear for .NET文章<图像处理控件ImageGear for .NET教程: 添加DICOM功能(1)>中讲解了如何对应用程序添加DICOM ...
- 编写适合windows 7 平台的软件,给程序添加UAC认证
Delphi程序必须在资源里面嵌入MANIFEST信息 一. 首先编辑一个文件,内容如下: <?xml version="1.0" encoding="UTF-8& ...
- 利用JDBC工具类添加和查询数据-Java(新手)
JDBC工具类: 1 package cn.lxr.jdbclx; 2 3 import java.sql.*; 4 5 public class JDBCUtils { 6 private stat ...
- 微信小程序添加外部地图服务数据
先上效果: 缘起 使用微信小程序做地图相关功能的时候,有个需求是需要接入自己发布的地图服务.查看微信小程序地图组件文档,发现它对地图相关的支持很少,只有一些基础功能,比如添加点.线.面.气泡和一些常规 ...
- 缓冲区溢出实战教程系列(三):利用OllyDbg了解程序运行机制
想要进行缓冲区溢出的分析与利用,当然就要懂得程序运行的机制.今天我们就用动态分析神器ollydbg来了解一下在windows下程序是如何运行的. 戳这里看之前发布的文章: 缓冲区溢出实战教程系列(一) ...
- 学习笔记之Java程序设计实用教程
Java程序设计实用教程 by 朱战立 & 沈伟 学习笔记之JAVA多线程(http://www.cnblogs.com/pegasus923/p/3995855.html) 国庆休假前学习了 ...
- 蓝牙BLE实用教程
蓝牙BLE实用教程 Bluetooth BLE 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Re ...
- Windows 7安装教程(详细图解)
早前向大家介绍了Windows XP的安装教程,今天思齐再来介绍一下Windows 7的安装教程,Windows 7在安装上相对以前的Windows操作系统都要简单一些,这一点对于尤其是非专业用户来说 ...
随机推荐
- 自定义控件 淘宝头条【ViewFlipper】
简易版 代码 ); tv.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Acti ...
- 【前端】javascript判断undefined、null、NaN;字符串包含等
JS中判断null.undefined与NaN的方法 这篇文章主要介绍了JS中判断null.undefined与NaN的方法,需要的朋友可以参考下 . . 写了个 str ="s" ...
- 【pyhon】理想论坛单帖爬虫取得信息存入MySql数据库
代码: # 单帖爬虫,用于爬取理想论坛单个帖子得到发帖人,发帖时间和回帖时间并存入数据库,url例子见main函数 from bs4 import BeautifulSoup import reque ...
- 《Go并发编程实战》第2版 紧跟Go的1.8版本号
文章作者:郝林(<Go并发编程实战 (第2版)>作者) 最终来了! 经过出版社的各位编辑.校对.排版伙伴与我的N轮PK和共同努力,<Go并发编程实战>第2版的全部内容最终全然确 ...
- nDCG学习笔记
参考:http://en.wikipedia.org/wiki/Discounted_cumulative_gain Normalized Discounted Cumulative Gain:一种对 ...
- JavaWeb request对象常用操作
JavaWeb request对象常用操作 CreateTime--2018年6月1日16点47分 Author:Marydon 一.前提 import javax.servlet.http.Ht ...
- 数据库选型之内存数据库eXtremeDB
刘勇 Email:lyssym@sina.com 简介 鉴于内存数据库访问速率快的特点,本文分别从单线程.多线程(并发访问)和多线程读/写混合访问角度对eXtremeDB数据库读写速率展开测试. ...
- 物联网通信 - RESTDemo示例程序
概述 Server开放RESTful API接口,供应用程序/移动App/嵌入式qt通过http post调用,实现获取服务端数据,更新服务器数据 详细 代码下载:http://www.demodas ...
- HBase源代码分析之HRegionServer上MemStore的flush处理流程(一)
在<HBase源代码分析之HRegion上MemStore的flsuh流程(一)>.<HBase源代码分析之HRegion上MemStore的flsuh流程(二)>等文中.我们 ...
- 【laravel54】查看版本号3种方式
1:最简单的用命令行实现>进入项目目录,执行 > php artisan --version 2:查看文件 vendor\laravel\framework\src\Illuminate\ ...