摘要: wpf中包含三种文件类型资源文件:编译到可执行或库 WPF 程序集中的数据文件。内容文件:与可执行 WPF 程序集具有显式关联的独立数据文件。源站点文件:与可执行 WPF 程序集没有关联的独立数据文件。这三种类型的文件之间的一个重要区别是:资源文件和内容文件在生成时是已知的;程序集明确地知道它们的存在。但是对于源站点文件,程序集可能完全不知道它们,或者通过 pack 统一资源标识符 (URI) 引用知道它们的存在;在后一种情况下,不能保证被引用的源站点文件实际存在。说说资源文件的使用如果应用程序数据文件必须始终可供某个应用程序使用,那么保证可用性的唯一方法是将其编译到应用程序的主可执行程序集中 阅读全文
posted @ 2012-11-07 17:58 Lyghost 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 首先需要在项目中引用System.Windows.Forms,System.Drawing; 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Windows; 6 using System.Windows.Controls; 7 using System.Windows.Data; 8 using System.Windows.Documents; 9 using System.Windows.Input; ... 阅读全文
posted @ 2012-11-07 17:55 Lyghost 阅读(484) 评论(1) 推荐(1) 编辑
摘要: 今天在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0,同时准备进一步完善,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常:混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集其调用的方法是从sqlite数据库中获取原来已经使用过的数据库连接,当时也没注意,就是准备设断点然后单步调试,结果竟然是断点无法进入方法体内,后来仔细看了一下方法体的时候发现了一个问题,就是现有的System.Data.Sqlite这个数据访问provider是针对.NET2.0环境开发(最新的版本是1.0.66.0,2 阅读全文
posted @ 2012-11-07 16:54 Lyghost 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 今天在Silverlight上遇到了个麻烦事。 重写了ListBox的ItemsPanel后,用WrapPanel来做容器,目的是想让子元素能够根据listbox的宽度自动换行布局。开始只有设置listbox的宽度或者wrapPanel的宽度才可以自动完成换行布局,尝试了很多方式总是不能在不设置宽度的情况下完成理想的布局样式。尝试了很久,开始想用binding的方法,用了各种binding了,呵呵,对binding还是很熟悉的,可惜都不熟悉。终于找到方法了,很简单,后来想想也应该是这样的。想让Wrappanel完成自动布局,那么就得让自动的方向的尺寸要固定,那么在我这里怎么做呢?就是固定Lis 阅读全文
posted @ 2012-11-06 15:27 Lyghost 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 相信用过windows7的朋友都知道,当我们将某个窗口拖拽到屏幕的顶部时窗口就会自动最大化,拖动到屏幕左右测边缘时,窗口会占据半个屏幕大小。这是windows7带来的新功能新亮点之一。 但是如果在具体项目具体需求时,windows7的这种特性往往会阻碍我们意愿,成为我们的绊脚石。 那么该篇文章介绍,WPF 程序Window窗口移动时 屏蔽windows7的这种特性。 具体需求: WPF项目中的window:A.xaml 有具体width和height,例:width:500,height:500; 不允许大小更改,且可以拖拽 具体实现: 在A.xaml页面中定义MouseLeft... 阅读全文
posted @ 2012-11-04 08:36 Lyghost 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 在目前的WPF版本中,很多的控件都有一个ContextMenu的属性,可以设置组件的右键菜单,这点确实是很方便,但是有些时候我们可能会需要当单击鼠标左键才弹出这个ContextMenu,而不是单击鼠标右键(即:当单击鼠标右键的时候不弹出该ContextMenu),这样我们就能很方便的实现类似Flex中设置弹出式菜单的效果...首先:然后,设置一下: 1 <Button Name="btnMenu" Width="50" Height="25" Content="菜单" Initialized="bt 阅读全文
posted @ 2012-11-02 17:08 Lyghost 阅读(8927) 评论(1) 推荐(2) 编辑
摘要: (下图:进行多项选择的ListBox) 首先介绍一种简单地方法:就是通过自定义SystemColors类的参数来自定义WPF ListBox选择颜色的,SystemColors的HighlightBrushKey和HighlightTextBrushKey分别代表ListBoxItem被选中时文字和背景颜色,没有Highlight的BrushKey代表ListBox没有焦点时的选中项文字和背景颜色: 1 <ListBox> 2 3 <ListBox.Resources> 4 5 <Style TargetType="ListBoxI... 阅读全文
posted @ 2012-11-01 18:08 Lyghost 阅读(2732) 评论(0) 推荐(1) 编辑
摘要: Silverlight的DataGrid有很多强大之处,其中一个便是排序。DataGrid指定过ItemsSource之后,通过点击列头就可以实现排序,不用写任何代码。这对我这种懒人来说实在是太爽了。但是,如果使用了模板列呢?会出什么效果?果然不行Age这一列使用了模板,通过TextBlock来显示。代码如下: <sdk:DataGrid.Columns> <sdk:DataGridTextColumn Header="编号" Binding="{Binding ID}"/> <sdk:DataGridTextC... 阅读全文
posted @ 2012-10-29 12:02 Lyghost 阅读(1375) 评论(0) 推荐(0) 编辑
摘要: 1. 浏览器中如何判断旺旺是否已经安装?下面一步步来探索,过程如下:(1) 打开淘宝任意店铺页面,查看源码,在亮灯旺旺图标处有如下代码:<a href="http://amos.alicdn.com/getcid.aw?v=3&uid=%B5%D1%C9%AF%C6%EC%BD%A2%B5%EA&site=cntaobao&groupid=416517&s=1&charset=gbk" target="_blank"><span style="white-space: pre;" 阅读全文
posted @ 2012-10-23 23:53 Lyghost 阅读(895) 评论(0) 推荐(0) 编辑
摘要: 一.引子很多时候为了方便,我们都需要从页面上启动一些本地的程序,比如QQ,MSN,Skype等。 我们先拿QQ来举例,QQ提供了一个QQ在线状态的服务,QQ在线状态服务我们可以将自己的“QQ在线状态” 放置在自己的个人博客或者空间中,方便他人知道你是否在线, 如果想和你聊天的话,只需要点下图标便会调出QQ进行聊天了。二.原理剖析下面将循序渐进的讲解IM在线状态以及链接到程序的实现原理1.如何从浏览器中调出程序我们都知道,一般情况下,浏览器中是无法直接和本机的其他的程序进行交互的,在IE中,我们可以通过ActiveX对象的方式进行。但是这个方式只适用于IE浏览器,另一种比较通用的方式便是URL协 阅读全文
posted @ 2012-10-23 23:45 Lyghost 阅读(543) 评论(0) 推荐(0) 编辑