摘要: XAML代码: R G B 在后台的逻辑代码中应访问TextBlock的Inlines集合来得到它所包含的字串..如果你用Text属性是取不到值的..CS代码:string str1 = this.tb.Text;string str2 = ""... 阅读全文
posted @ 2013-08-21 12:51 Dino.Tang 阅读(10198) 评论(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 阅读(3018) 评论(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 阅读(8838) 评论(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 阅读(976) 评论(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 阅读(671) 评论(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 阅读(16469) 评论(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 阅读(179) 评论(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 阅读(8617) 评论(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 阅读(3126) 评论(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 阅读(978) 评论(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 阅读(2172) 评论(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 阅读(1099) 评论(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 阅读(369) 评论(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 阅读(684) 评论(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 阅读(1240) 评论(0) 推荐(0) 编辑
摘要: XAML代码:(这里使用了codeproject.com网站上的一个Dll,你可以在这里下载它:http://www.codeproject.com/cs/miscctrl/MonthCalendar.asp) 在网上也有如下的资源:终于找到了一个WPF中的日历控件共享代码:WPF的日历控件 阅读全文
posted @ 2013-08-21 11:15 Dino.Tang 阅读(613) 评论(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 阅读(622) 评论(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 阅读(2129) 评论(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 阅读(550) 评论(0) 推荐(0) 编辑
摘要: /// /// 汉字拼音首字母列表 /// 包含了20901个汉字,收录的字符的Unicode编码范围为19968至40869 /// #region ChineseCharList private static string[] ChineseCharList = { "A阿啊锕嗄厑哎哀唉埃挨溾锿鎄啀捱皑凒溰嘊敳皚癌毐昹嗳矮蔼躷噯藹譪霭靄艾伌爱砹硋隘嗌塧嫒愛碍暧瑷僾壒嬡懓薆曖璦鴱皧瞹馤鑀鱫安侒峖桉氨庵谙萻腤鹌蓭誝鞌鞍盦馣鮟盫韽啽雸垵", "... 阅读全文
posted @ 2013-08-21 11:04 Dino.Tang 阅读(10130) 评论(1) 推荐(0) 编辑