摘要: XAML代码: R G B 在后台的逻辑代码中应访问TextBlock的Inlines集合来得到它所包含的字串..如果你用Text属性是取不到值的..CS代码:string str1 = this.tb.Text;string str2 = ""... 阅读全文
posted @ 2013-08-21 12:51 Dino.Tang 阅读(10419) 评论(0) 推荐(0)
摘要: WPF程序对应一个Application对象,当前的Application对象可以通过Application.Current获取,通过获取到的Application对象,我们可以做以下的事情:Application.Current.FindResource("资源名");//获取程序中定义的资源Application.Current.MainWindow;//获取程序中定义的主窗体Application.Current.Properties["MyProperty"];//获取或设置应用范围的属性Application.Current.Shutdown( 阅读全文
posted @ 2013-08-21 12:44 Dino.Tang 阅读(3338) 评论(0) 推荐(0)
摘要: WPF程序中的单位是与设备无关的单位,每个单位是1/96英寸,如果电脑的DPI设置为96(每个英寸96个像素),那么此时每个WPF单位对应一个像素,不过如果电脑的DPI设备为120(每个英寸120个像素),那此时每个WPF单位对应应该是120/96=1.25个像素一般在程序中我们常常需要得到当前屏幕的宽和高,常见做法有:1.这两个方法可以返回当前屏幕选择的分辨率,该分辨率是以像素为单位,在DPI为96的情况下我们可以利用它们来做一些控件的定位,因为此时WPF单位对应一个像素,而当DPI非96的情况下,用该分辨率来做定位就会发现误差了,因此此时每个WPF单位并不是对应于一个像素System.Wi 阅读全文
posted @ 2013-08-21 12:42 Dino.Tang 阅读(9221) 评论(0) 推荐(1)
摘要: 1.string和Color的转换://string转Color(Color)ColorConverter.ConvertFromString((string)str);//Color转string((Color)value).ToString();2.string和Brush的转换://string转Brush Brush color = new SolidColorBrush((Color)ColorConverter.ConvertFromString((string)str));//Brush转string((Brush)value).ToString();3.string和byte[ 阅读全文
posted @ 2013-08-21 12:39 Dino.Tang 阅读(994) 评论(0) 推荐(0)
摘要: (1).比较2个DateTime的大小DateTime dt1 = Convert.ToDateTime("2010/11/25 20:53:43");DateTime dt2 = Convert.ToDateTime("2010/11/26 19:24:53");int i = DateTime.Compare(dt1, dt2);最后i的结果是-1...所以说dt1dt2的时候i=1(2).计算两个DateTime的差DateTime dt1 = Convert.ToDateTime("2010/11/25 20:53:43"); 阅读全文
posted @ 2013-08-21 12:36 Dino.Tang 阅读(684) 评论(0) 推荐(0)
摘要: 有时候我们在WPF程序中设置了图片的Width和Height,但图片显示出来的宽和高并不是我们预期的效果,这实际上是由于Image的默认Stretch属性导致的Image的Stretch属性默认为Uniform,这代表图片会均匀的变大和缩小,保证了图片的比例不失调,而往往我们设置的宽和高并不符合图片的比例,因此显示效果就不是我们预期所想,Image的Stretch属性还可以设置为以下值:None —— 图片会按原始大小显示Fill —— 图片会按照设置的Width和Height显示,比例会失调UniformToFill —— 图片会按照设置的Width和Height显示,但图片是均匀变大和缩小 阅读全文
posted @ 2013-08-21 12:31 Dino.Tang 阅读(17334) 评论(0) 推荐(0)
摘要: 关于.NET的内存管理,刚接触.NET时对其毫无认识,总以为.NET是托管代码,以致在工作中根本没去考虑代码的内存管理问题,随后在代码中出现了大量内存问题,才开始关注起.NET的内存管理问题,以下是转载的一篇个人认为关于.NET内存管理讲得比较详细的文章,并加之个人的一些理解。原文地址http://www.cnblogs.com/moonz-wu/archive/2008/04/02/1094654.html.NET内存管理 尽管在.net framework中我们不太需要关注内存管理和垃圾回收这方面的问题,但是出于提高我们应用程序性能的目的,在我们的脑子里还是需要有这方面的意识。明白内... 阅读全文
posted @ 2013-08-21 12:30 Dino.Tang 阅读(183) 评论(0) 推荐(0)
摘要: UIElement在WPF4下添加了很多支持多点触摸的事件,通过它们可以在硬件支持的情况下处理多点触摸,以下通过代码来说明通过处理这些事件,我们可以做些什么:一.触摸相关的多种事件,跟鼠标事件是对应的,通过这些事件可以获取到多个触摸的鼠标点,并进行相应的处理public static readonly RoutedEvent TouchDownEvent;public static readonly RoutedEvent TouchEnterEvent;public static readonly RoutedEvent TouchLeaveEvent;public static reado 阅读全文
posted @ 2013-08-21 11:59 Dino.Tang 阅读(8762) 评论(2) 推荐(1)
摘要: WPF4对字体渲染做了很大的改善,增加了TextOptions属性,该属性可以设置TextFormattingMode,TextRenderingMode,TextHintingMode1.TextFormattingMode它提供了两种设置:· Ideal —— WPF4之前的模式· Display —— 新的模式,可以使字体显示更清晰(一般将TextFormattingMode设置为Display,可以提高字体显示的清晰度)2.TextRenderingMode设置渲染模式,可以有以下设置:Auto– This mode will use ClearType unles 阅读全文
posted @ 2013-08-21 11:52 Dino.Tang 阅读(3198) 评论(0) 推荐(0)
摘要: string是各种编程语言中最基础的数据类型,长期以来受尽其它类的压迫,经常被肢解(Substring、Split)、蹂躏(Join)...而现在C#数据类型string要“翻身闹革命”了,它几乎无所不能,可以为所欲为,令其它类心惊胆颤...让我们来看一下革命后的string做了些什么?1. 打开文件或网址"c:\\t.txt".Open(); "http://www.cnblogs.com/ldp615/".Open(); 怎么做到的呢?看扩展,很简单,直接调用调用了Process.Start函数:public static void Open(thi 阅读全文
posted @ 2013-08-21 11:49 Dino.Tang 阅读(998) 评论(4) 推荐(1)
摘要: 我们知道,文字的修饰包括:空心字、立体字、划线字、阴影字、加粗、倾斜等。这里只说划线字的修饰方式,按划线的位置,我们可将之分为:上划线、中划线、基线与下划线。如图:从上至下,分别为上划线(Overline),中划线(StrikeThrough),基线(Baseline)和下划线(Underline)。如何实现?(1)XAML代码:A这里TextDecorations属性可以设置为:OverLine, Strikethrough, Baseline, Underline或None,如果没有设置TextDecorations属性,则默认为None,即不带划线修饰。(2)使用C#代码:private 阅读全文
posted @ 2013-08-21 11:37 Dino.Tang 阅读(2267) 评论(0) 推荐(0)
摘要: Winform:使用System.Windows.Forms命名空间中相应控件; WPF则调用Microsoft.Win32。MessageBox:// WinForm private void WFMessageBoxClicked(object sender, RoutedEventArgs e) { System.Windows.Forms.MessageBox.Show("Hello from Windows Forms!", "Hello World!"); }// WPF private void WPF... 阅读全文
posted @ 2013-08-21 11:34 Dino.Tang 阅读(1124) 评论(0) 推荐(0)
摘要: RectConverter rectConverter = new RectConverter();string parseString = viewportEntry.Text;if (parseString != null && parseString != string.Empty){ imageBrush.Viewport = (Rect)rectConverter.ConvertFromString(parseString);}else{ imageBrush.Viewport = Rect.Empty; viewportEntry.Text = "E... 阅读全文
posted @ 2013-08-21 11:27 Dino.Tang 阅读(409) 评论(0) 推荐(0)
摘要: 1. 建立 WPF Application。首先,建立一个名为 FlashinWPF 的 WPF Application2.设置 Window 属性。在 XAML 中修改 Window 的属性,加入 Loaded 事件,设置默认 Grid 的 x:Name 标示为 "FlashGrid" 更改后代码如下: 3. 建立 Windows Forms Control LibraryWPF Application 作为一个展现层的项目,不能自身插入 COM Component,所以需要借助 Windows Form 引入 ActiveX 控件。4. 插入 Shockwave Fla 阅读全文
posted @ 2013-08-21 11:25 Dino.Tang 阅读(714) 评论(0) 推荐(0)
摘要: 我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢?答案是使用System.Diagnostics.Process.Start()。它的作用是调用外部的命令。先来看看它的调用方法:Process.Start ();Process.Start (ProcessStartInfo);Process.Start (String);Process.Start (String, String); Process.Start (String, String, Sec 阅读全文
posted @ 2013-08-21 11:21 Dino.Tang 阅读(1277) 评论(0) 推荐(1)
摘要: XAML代码:(这里使用了codeproject.com网站上的一个Dll,你可以在这里下载它:http://www.codeproject.com/cs/miscctrl/MonthCalendar.asp) 在网上也有如下的资源:终于找到了一个WPF中的日历控件共享代码:WPF的日历控件 阅读全文
posted @ 2013-08-21 11:15 Dino.Tang 阅读(627) 评论(0) 推荐(0)
摘要: using System;using System.Windows;using System.Windows.Controls;using System.Windows.Input;using System.Windows.Shapes;using System.Windows.Media;namespace BrawDraw.Com.HandleAnEvent{ class HandleAnEvent { [STAThread] public static void Main() { Application app ... 阅读全文
posted @ 2013-08-21 11:10 Dino.Tang 阅读(632) 评论(0) 推荐(0)
摘要: 首先,由于WPF中不象GDI+中有Graphics对象,因此你无法使用Graphics进行绘图了,取而代之的是:DrawingContext;类似地,GDI+中的OnPaint已被OnRender取代。其次,UIElement有一个OnRendar方法,它的定义是:protected virtual void OnRender (DrawingContext drawingContext)但我们不能直接调用OnRender方法,也不能直接创建DrawingContext实例,但可以利用 DrawingGroup.Open 和DrawingVisual.RenderOpen。这里举两个例子:(1 阅读全文
posted @ 2013-08-21 11:08 Dino.Tang 阅读(2195) 评论(0) 推荐(0)
摘要: 本文将介绍三种方法用于在后台代码中动态加载XAML,其中有两种方法是加载已存在的XAML文件,一种方法是将包含XAML代码的字符串转换为WPF的对象。一、在资源字典中载入项目内嵌资源中的XAML文件Application.Current.Resources.MergedDictionaries.Insert(0, Application.LoadComponent(new Uri("abc/Index.xaml", UriKind.Relative)) as ResourceDictionary);此方法仅限于载入项目中包含的XAML资源文件,测试中载入项目以外的资源会提示 阅读全文
posted @ 2013-08-21 11:06 Dino.Tang 阅读(619) 评论(0) 推荐(0)
摘要: /// /// 汉字拼音首字母列表 /// 包含了20901个汉字,收录的字符的Unicode编码范围为19968至40869 /// #region ChineseCharList private static string[] ChineseCharList = { "A阿啊锕嗄厑哎哀唉埃挨溾锿鎄啀捱皑凒溰嘊敳皚癌毐昹嗳矮蔼躷噯藹譪霭靄艾伌爱砹硋隘嗌塧嫒愛碍暧瑷僾壒嬡懓薆曖璦鴱皧瞹馤鑀鱫安侒峖桉氨庵谙萻腤鹌蓭誝鞌鞍盦馣鮟盫韽啽雸垵", "... 阅读全文
posted @ 2013-08-21 11:04 Dino.Tang 阅读(10279) 评论(1) 推荐(0)
摘要: 利用汉字在计算机里面的编码来得到汉字的首拼音:static public string GetChineseSpell(string strText){ int len = strText.Length; string myStr = ""; for(int i=0;i 1) { int area = (short)arrCN[0]; int pos = (short)arrCN[1]; int code = (area<<8) + pos; int[] areacode = {45217,45253,45761,... 阅读全文
posted @ 2013-08-21 11:03 Dino.Tang 阅读(428) 评论(0) 推荐(0)
摘要: windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等。否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛出异常。如何让程序在启动时,自动要求“管理员”权限了,我们只需要修改app.manifest文件中的配置项即可。app.manifest文件默认是不存在的,我们可以通过以下操作来自动添加该文件。(1)进入项目属性页。(2)选择“安全性”栏目。(3)将“启用ClickOnce安全设置”勾选上。 现在,在Properties目录下就自动生成了app.manifest文件,打开该文件,将trustIn. 阅读全文
posted @ 2013-08-21 11:00 Dino.Tang 阅读(741) 评论(0) 推荐(0)
摘要: //方法一: //保留小数位数,并能四舍五入 DecimalFormat de = new DecimalFormat("0.00"); System.out.println(de.format(52.83252)); //方法二: //最简单的保留两位小数方法,并能四舍五入 double dou = 0.36854; dou = Math.round(dou*100); System.out.println(dou/100); //方法三: //BigDecimal --des.setScale()方法里的2,表示保留的小数位数 //第二个参数为也可为 RO... 阅读全文
posted @ 2013-08-21 10:58 Dino.Tang 阅读(4063) 评论(0) 推荐(0)
摘要: /// /// 获取指定驱动器的空间总大小(单位为B) /// /// 只需输入代表驱动器的字母即可 /// public static long GetHardDiskSpace(string str_HardDiskName) { long totalSize= new long(); str_HardDiskName=str_HardDiskName +":\\"; System.IO.D... 阅读全文
posted @ 2013-08-21 10:56 Dino.Tang 阅读(313) 评论(0) 推荐(0)
摘要: 很多想开发iOS,或者正在开发iOS的程序员以前都做过Java或者C++,当第一次看到Objective-C的代码时都会头疼,Objective-C的代码在语法上和Java, C++有着很大的区别,有的同学会感觉像是看天书一样。不过,语言都是相通的,有很多共性。下面列出Objective-C语言的语法和Java,C++的对比,这样你就会很容易Objective-C的语法是怎么回事了。先目睹一下Objective-C头文件和实现文件里都有什么:头文件:实现文件, 类似于C++的.cpp文件:一、函数的对比helloworld方法Java 语言:[cpp]view plaincopypublicv 阅读全文
posted @ 2013-08-21 10:44 Dino.Tang 阅读(98) 评论(0) 推荐(0)
摘要: 虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。先下载一个实现准备好的内存泄露的Demo吧:leak app下载下来,打开运行,程序是一个寿司的列表,列出各种寿司卷。试着选择里面的几行,应该是选第二行的时候就崩溃了。崩溃截图:在崩溃的地方断住了,知道crash的地方了,但是不知道具体crash的原因 阅读全文
posted @ 2013-08-21 10:40 Dino.Tang 阅读(103) 评论(0) 推荐(0)
摘要: 第七课的主要内容:View Controller Lifecycle ImageView ScrollView WebView1、View Controller Lifecycle creation通过 一个segue或故事版的instantiateViewControllerWithIdentifer:实例化。一般情况不要自己定义UIViewController的初始化方法。awakeFromNib 可选的,awakeFromNib是view的方法,有很多方法可以替代awakeFromNib放置。awakeFromNib很早期就被调用了,那时候outlet还没连起来。那时候viewContr 阅读全文
posted @ 2013-08-21 10:38 Dino.Tang 阅读(147) 评论(0) 推荐(0)
摘要: 第七课的主要内容:iPad 和iPhone的通用程序这节课主要讲如何在一个程序里适配iPad 和iPhone。内容简介1、UIToolbar上面放的都是UIBarButtonItem可以参考iOS学习之UINavigationController详解与使用(三)ToolBar这节课的Demo是把UIToolbar拖放到iPad的故事版的顶部来使用。2、UISplitViewControllerUISplitViewController只能在iPad的storyboard使用。3、UISplitViewControllerDelegateShowing and Hiding View Contr 阅读全文
posted @ 2013-08-21 10:36 Dino.Tang 阅读(158) 评论(0) 推荐(0)
摘要: 第六课 主要内容:多个MVC的程序和故事版、UINavigationController、Segues1、多个MVC前面的程序都是一个MVC,多个View时,怎么办,那就需要多个Controller。一个MVC只能控制一屏幕或更小的区域。那如何切换两个MVC呢,用控制器群里的控制器:UINavigationController。2、UINavigationController是个控制器也是继承于UIVIewController。UINavigationController的长相如下图:中间有个title。它是个特殊的controller,因为它有一个Outlet只向一另外一个MVC,就是它的r 阅读全文
posted @ 2013-08-21 10:34 Dino.Tang 阅读(130) 评论(0) 推荐(0)
摘要: 第五课内容: 自动旋转、 Protocols、 手势识别、一个自定义UIView的Demo1、自动旋转当设备旋转时,你的controller会做什么呢?你可以控制界面是否和设备一起一起旋转。[cpp]view plaincopy-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation{returnUIInterfaceOrientationIsPortrait(orientation);//onlysupportportraitreturnYES;//supportallorientati 阅读全文
posted @ 2013-08-21 10:31 Dino.Tang 阅读(121) 评论(0) 推荐(0)
摘要: 第四课名称: Views 视图课程开始老师怀念了一会老乔。接着介绍这次的课程分为两部分,一部分是Calculator的Demo,一部分是Views.课程开始到第四课,其实斯坦福的课程里是有作业的,人家已经做完了第一个作业了,就是完善计算器这个程序,完成一个比较复杂的计算器:计算器大概要完整这么多的功能,有兴趣的同学可以把这个作业的pdf下载下来自己完成。下载地址:作业1个人感觉这个计算器比较奇葩的地方是设计了一个Enter键。可能是为了减小程序的难度吧。Demo的演示包括下面内容:1、可编程性,添加一些API,作用是返回计算程序!Api要保证程序向上兼容。Brain是操作数和操作符的组合。通过 阅读全文
posted @ 2013-08-21 10:30 Dino.Tang 阅读(111) 评论(0) 推荐(0)
摘要: 第三课名称是:Objective-C回顾上节课的内容:创建了单个MVC模式的项目显示项目的各个文件,显示或隐藏导航,Assistant Editor, Console, Object Library, Inspector等功能的使用在故事版上编辑视图,通过Ctrl+拖拽把view连接到Controller的outlet。创建新的类,比如 CalculatorBrain使用@synthesize延迟实例化实现getter[ ]中括号的使用私有方法在.m文件中定义使用strong weak属性处理代码中的警告和错误相关Obj-c的语法知识,比如NSString 的使用这节课主要是讲Obj-C语法, 阅读全文
posted @ 2013-08-21 10:26 Dino.Tang 阅读(101) 评论(0) 推荐(0)
摘要: 第二课名称是: My First iOS App 我的第一个iOS应用注意:我用的是XCodeVersion 4.5.2 (4G2008a)版本,SDK 是6.0,和视频教程稍微不一样。这课主要是以一个计算器一个用为例子,教你怎么使用XCode,如何使用MVC设计模式创建应用。我们跟着他把应用做出来,这颗学习的目的就达到了。1、新建一个single view application模版的应用填写项目信息。前缀加上 Calculator,新建的Viewcontroller前面都带有Calculator。选择了 使用故事版,使用ARC,这都是iOS 5.0之后的新特性。单元测试就不选了,后期才会去 阅读全文
posted @ 2013-08-21 10:18 Dino.Tang 阅读(109) 评论(0) 推荐(0)
摘要: 2011年冬季斯坦福大学公开课 iOS应用开发教程是个很经典的教程,这个老头讲的很给力。做笔记总结。第一课名称: MVC and Introduction to Objective-C这课的主要内容有:iOS的概述 -什么是iOSMVC - 面向对象的概念Objective-C-介绍下语言的概念iOS包括四层内核内核是mach 4.x BSD UNIX内核 mac OS 10操作系统,是个多任务的UNIX内核,在这层上提供了网络,socket ,安全机制,文件系统,大部分这些api是c api 因为这写都是UNIX代码。我们不会在这层上写代码。Core Sevices层这层开始面向对象了,提供 阅读全文
posted @ 2013-08-21 10:16 Dino.Tang 阅读(101) 评论(0) 推荐(0)