摘要: 常用的TextBlock使用如下: TextBlock is designed to be lightweight, and is geared specifically at integrating small portions of flow content into a UI.Click Me By default, a TextBlock provides no UI beyond simply displaying its contents.Click Me显示如下:但是当碰到这种需求:一个字符窜,分三段组成,第一段一种字体,常量,第二段一种字体,并且需要绑定变量,第三段又是... 阅读全文
posted @ 2014-02-12 15:44 gavin.huang 阅读(285) 评论(0) 推荐(0) 编辑
摘要: TreeViewItem Msdn定义:TreeViewItem 是一个 HeaderedItemsControl,这意味着其标头和对象的集合可以是任何类型(如字符串、图像或面板)。有关更多信息,请参见 HeaderedItemsControl 类。TreeViewItem 控件可嵌入在其他 TreeViewItem 控件内,以在 TreeView 控件内创建一个节点层次结构。若要展开或折叠 TreeViewItem,请使用 IsExpanded 属性。有关 TreeView 控件的更多信息,请参见 TreeView 概述。自定义 TreeViewItem 控件若要对多个 TreeViewIt 阅读全文
posted @ 2014-02-12 15:23 gavin.huang 阅读(941) 评论(0) 推荐(0) 编辑
摘要: 今天介绍的是DTE。msdn介绍:Visual Studio 自动化对象模型中的顶级对象。使用此对象可以实现功能,有关此对象的文档,请参考 _DTE。名称说明ActiveDocument获取活动文档。 (继承自 _DTE。)ActiveSolutionProjects获取当前选定项目的数组。 (继承自 _DTE。)ActiveWindow返回当前活动窗口,如果没有其他活动窗口,则返回最顶层的窗口。 (继承自 _DTE。)AddIns获取包含当前可用的所有外接程序的 AddIns 集合。 (继承自 _DTE。)Application基础结构。仅由 Microsoft 内部使用。 (继承自 _DT 阅读全文
posted @ 2013-10-25 16:37 gavin.huang 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 前两篇看到了很多这样的代码:OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;得到了OleMenuCommandService这个服务对象,那我们也学着自己定义Service1.首先定义一个接口和一个markup type 接口:[Guid("D7524CAB-5029-402d-9591-FA0D59BBA0F0")] [ComVisible(true)] public interface ICalculation... 阅读全文
posted @ 2013-10-24 15:05 gavin.huang 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 2:Domain-Specific Language Designer今天写一下Domain-Specific Language Designer:一:打开VS,选择其他项目类型-扩展性,然后选择Domain-Specific Language Designer成功创建后,我们可以看到如下图所示:一共两个工程:1:Dsl2: DslPackage先说下比较熟悉的DslPackage没有了Guid.cs,PkgCmdIDList.cs文件,多了GeneratedCode,ProjectItemTemplates两个文件夹。打开Dsl项目中的DslDefinition.dsl文件.(这是通常情况下 阅读全文
posted @ 2013-10-22 15:31 gavin.huang 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 安装完相应的插件工具后,就开始自己建立一个新的package文件了打开VS,选择其他项目类型-扩展性,我们可以看到下图:我们要建立DSlPackage可以有两种方式:1:Visual Studio Package可以直接建立一个简单的Package,建立后Solution如下图:这是一个简单的vspackage,其中没有DslDefinition.dsl文件(该文件在选择Domain-Specific Language Designer会详细描述),其中Guid.cs1 static class GuidList2 {3 public const string guid... 阅读全文
posted @ 2013-10-21 11:33 gavin.huang 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 现在工作中一直在使用前辈开发的IDE工具,使用非常方便,可以自动生成代码,可以统一处理业务上的逻辑,但是也有用的不爽的地方,自己想试着学习改下,但是发现打开后很多工程无法加载。然后自己查了一些资料发现要使用vs的dsl要先装vs2010的sp1,和sdk。安装完成后终于打开了。国外强人的Dsl使用心得:http://dotneteers.net/blogs/divedeeper/archive/2008/09/18/LearnVSXNowPart32.aspx。什么是Visual Studio DSL Vistual Studio DSL 工具,是微软针对特定领域开发而专门设计的.包含在Vis 阅读全文
posted @ 2013-10-15 11:13 gavin.huang 阅读(425) 评论(1) 推荐(0) 编辑
摘要: 一:ManualResetEvent类[ComVisibleAttribute(true)][HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, ExternalThreading = true)]public sealed class ManualResetEvent : EventWaitHandlemsdn定义:通知一个或多个正在等待的线程已发生事件。ManualResetEvent 允许线程通过发信号互相通信。通常,此通信涉及一个线程在其他线程进行之前必须完成的任务。当一个线程开始一个活. 阅读全文
posted @ 2013-10-15 10:15 gavin.huang 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 前面说了datagrid的焦点控制,以及校验,下面说说他的动画控制。1:datagrid的拖拽功能,很简单。先设置属性AllowDrop="True"然后注册两个事件productsDataGrid.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(productsDataGrid_PreviewMouseLeftButtonDown); productsDataGrid.Drop += new DragEventHandler(productsDataGrid_Drop);void productsDat. 阅读全文
posted @ 2013-09-06 15:16 gavin.huang 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 上次写了焦点控制,这次讲一下,校验和错误提示。wpf自带有ValidationRule第一种:写说下ValidationRule的使用情况。继承ValidationRule, override Validate方法。然后xaml里第二种:IDataErrorInfo类,可以在定义的ViewModel里继承,主要两个方法public string Errorpublic string this[string columnName]xaml使用情况同第一中种。但是前面几种可以提示错误信息,但是有错误时,无法不让焦点移动。下面我说说第三种方法:首先定义接口: public interface ICo 阅读全文
posted @ 2013-09-06 15:02 gavin.huang 阅读(259) 评论(0) 推荐(0) 编辑