博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 2 3 4 5 6 7 8 9 10 ··· 34 下一页

2011年5月26日

摘要: WPF程序中的单位是与设备无关的单位,每个单位是1/96英寸,如果电脑的DPI设置为96(每个英寸96个像素),那么此时每个WPF单位对应一个像素,不过如果电脑的DPI设备为120(每个英寸120个像素),那此时每个WPF单位对应应该是120/96=1.25个像素 一般在程序中我们常常需要得到当前屏幕的宽和高,常见做法有: 1.System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height 这两个方法可以返回当前屏幕选择的分辨率,该分辨率 阅读全文

posted @ 2011-05-26 11:15 linFen 阅读(4202) 评论(0) 推荐(2) 编辑

摘要: 初学wpf今天做一个菜鸟级别实例,只适合菜鸟. 先上图 说明一下功能:显示总条数,选中条数.全选.点击datagrid勾选,也可多选 datagrid绑定的数据是用的一个数据过渡类,如有一个Student类,类中有Id,Name... 但没有总条数也没有当前选中条数(当然还有其他情况会跟这种情况类似时也会用到) 所以我就构造一个数据过渡类StudentData //数据实体类代码 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545 阅读全文

posted @ 2011-05-26 10:49 linFen 阅读(6210) 评论(0) 推荐(1) 编辑

摘要: 参考资料:(1). WPF:自动点击某个FrameworkElement(2). TestApi - a library of Test APIs(3). Introduction to TestApi – Part 1: Input Injection APIs1. 模拟用户输入的五种方式: (A)直接调用UI element的方法,例如:Button.IsPressed (B)利用可用的接口(UIA, MSAA, etc.),例如:AutomationElement(C)使用底层输入模拟,与操作系统相关,例如:Windows中的SendInput Win32 API和 Raw Input 阅读全文

posted @ 2011-05-26 10:47 linFen 阅读(502) 评论(0) 推荐(0) 编辑

2011年5月24日

摘要: 1. 数据绑定(Binding)一般配置 常用的绑定的目标(Dependency Object & associated Dependency Property,目标单元): 内容控件目标:object ContentControl.Content 集合控件目标:IEnumerable ItemsControl.ItemSource 绑定器: Binding ( : BindingBase : MarkupExtension ) Binding binding = new Binding(); binding.ElementName = "WPF控件名称"; / b 阅读全文

posted @ 2011-05-24 10:19 linFen 阅读(1051) 评论(0) 推荐(0) 编辑

2011年5月21日

摘要: using System.Management;查找CPU编号比较耗时.最好在其他线程调用.硬盘编号还快一些,但是分区后会变.如果硬盘克隆.硬盘编号也一样方法如下:View Code /// <summary> /// 取CPU编号 /// </summary> /// <returns></returns> public String GetCpuID() { try { ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObject 阅读全文

posted @ 2011-05-21 07:59 linFen 阅读(332) 评论(0) 推荐(0) 编辑

摘要: 先看显示效果:(图1)XAML(代码A):<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <Canvas><!--这是使用PathFigureCollection的表示方法--><Path Stroke="Black" StrokeThickness="1" Fill 阅读全文

posted @ 2011-05-21 07:56 linFen 阅读(478) 评论(0) 推荐(1) 编辑

摘要: 第1种用 Task类. 推荐用这个办法 public void 工作_Task() { Dispatcher x = Dispatcher.CurrentDispatcher;//取得当前工作线程 //另开线程工作 Task<int> 计数 = new Task<int>(() => { return 计数方法(); }); 计数.ContinueWith(工作完毕后方法);//工作完毕后执行的方法 计数.Start();//开始工作 } public void 工作完毕后方法(Task<int> 参数) { if (参数.IsCompleted) / 阅读全文

posted @ 2011-05-21 07:56 linFen 阅读(475) 评论(0) 推荐(0) 编辑

2011年5月17日

摘要: 关于在VS2008新建WPF类库时,有Custom Control和User Control两个选择。User Control类库会在工程中建立一个XAML文件及其绑定后台代码,前者以<UserControl开头,后者是一个派生自UserControl的类。Custom Control类库则在工程中创建派生自Control基类的CustomControl1控件,并在构造函数中为CustomControl1指定依赖属性DefaultStyleKeyProperty:Custom Control类库还会在Theme目录下生成Generic.xaml,这是一个以<ResourceDict 阅读全文

posted @ 2011-05-17 23:54 linFen 阅读(6559) 评论(2) 推荐(2) 编辑

摘要: 1.MVVM设计模式简介 MVVM的设计模式最早于2005年由微软的WPF和Silverlight架构师John Gossman在他的博客中提到。以下是这篇文章的链接: http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx MVVM设计模式基于MVC这种将UI和逻辑分离的结构思想。传统的.NET平台下软件开发如ASP.NET和WPF/Silverlight大多数是基于CodeBehind这样的方式,我们往往将所有的代码全部写在后台代码文件中,例如UI操作,业务逻辑操作,IO,数据服务的调用等等。这虽然表面上有利于“ 阅读全文

posted @ 2011-05-17 23:45 linFen 阅读(604) 评论(0) 推荐(1) 编辑

摘要: 1.WPF样式类似于Web应用程序中的CSS,在WPF中可以为控件定义统一的样式(Style)。样式属于资源的一种,例如为Button定义统一的背景颜色和字体:<Window.Resources><Style TargetType="Button"><Setter Property="Background" Value="Yellow" /></Style></Window.Resources><StackPanel><Button>Button A& 阅读全文

posted @ 2011-05-17 21:29 linFen 阅读(2827) 评论(0) 推荐(1) 编辑

摘要: delegateCommand.cs://-----------------------------------------------------------------------//<copyrightfile="DelegateCommand.cs"company="DigitalChina">//Copyright(c)DigitalChina.Allrightsreserved.//</copyright>//<author>LiangLan</author>//<date>2011 阅读全文

posted @ 2011-05-17 21:00 linFen 阅读(1273) 评论(0) 推荐(1) 编辑

2011年5月16日

摘要: 属性名属性的类名功能示例TemplateControlTemplate定义控件自身的外观.其子元素的布局可以自定义,也可以由ItemsPresenter定义.<Style TargetType="ListBox"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ListBox"> <Border> <ScrollViewer> <StackPanel IsIt 阅读全文

posted @ 2011-05-16 23:56 linFen 阅读(13806) 评论(0) 推荐(7) 编辑

2011年5月14日

摘要: 使用框架(无论是frameset、frame、iframe)嵌套网页的时候,如果子网页的高度超过了预先设定的高度,会出现滚动条,也就是尺寸溢出,一般来说如果高度超了就出现垂直滚动条,宽度超了就出现水平滚动条,但是在IE6中,只要尺寸大于等于预定高度,就会两个滚动条一起出现,这好象是一个bug。解决方法:在子网页设置css如下:html {overflow-y:auto!important;*overflow-y:scroll;}这段最重要的一点是设置overflow-y为scroll,这样强制出现垂直滚动条的话,水平滚动条就不会显示出来了,但如果宽度超出过多,水平滚动条还是会超出,这时可以考虑 阅读全文

posted @ 2011-05-14 10:20 linFen 阅读(3736) 评论(0) 推荐(0) 编辑

摘要: 最近在做一个网站,要在一个静态的背景上加一个透明的Flash会显示动态的效果,按照常规方式加了代码后,在IE中能显示透明背景Flash,但是用Firefox浏览器却发现没有透明的效果,那究竟应该怎么加呢?于是搜索和研究了一下。 特别推荐:《网页上透明FLASH代码详解》<objectclassid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6, 阅读全文

posted @ 2011-05-14 09:39 linFen 阅读(355) 评论(0) 推荐(0) 编辑

2011年5月13日

摘要: 依赖属性的特点:(1) 使用高效的稀疏存储系统,这意味着在不设置本地值的情况下,所有同类型对象的依赖属性都将共享默认设置,大大节约内存开销。(2) 依赖属性具备变更通知(Change Notification)能力,当属性值发生变化时,可以通过预先注册的元数据信息触发联动行为。(3) 依赖属性可以从其在树中的父级继承属性值。(4) 依赖属性可以依据优先级从多个提供程序中获取最终值。1. 依赖属性实现依赖属性的实现很简单:(1) 所在类型继承自 DependencyObject,几乎所有的 WPF 控件都间接继承自该类型。(2) 使用 public static 声明一个 DependencyP 阅读全文

posted @ 2011-05-13 22:39 linFen 阅读(2345) 评论(0) 推荐(0) 编辑

摘要: 【IT168 技术文档】如果自己来做一个UI框架,我们会首先关注哪些方面?我想UI框架主要处理的一定包括两个主要层次的内容,一个是数据展现,另一个就是数据操作,所以UI框架必须能够接收各种不同的数据并通过UI界面展现出来,然后可以通过控件行为来操作这些数据,也就是UI框架的数据(Data)和行为(Behavior)。 本篇从总体上讲解一下WPF如何处理和操作Data,看完之后大家应该对WPF框架如何把数据转变为展现界面有初步的认识,这也是WPF的核心设计之一。 数据(Data) 以前的UI框架的控件对控件数据类型都有规定,按钮上显示的是文本或者加上一个图片,下拉框显示的都是字符串或者带上一个o 阅读全文

posted @ 2011-05-13 22:30 linFen 阅读(398) 评论(0) 推荐(0) 编辑

摘要: 第0问:能否简单介绍一下本文的结构? 本文解答了关于WPF的9个最常见的问题。从某种意义上讲,这两种技术是相互关联的:它们都是关于界面表现的技术,更进一步的,Silverlight是基于WPF的,是它的一个子集。不仅从理论上介绍了这两种技术,同时还提供了一些小的例子供大家参考。 第1问:我们已经有了GDI、GDI+和DirectX,为什么我们还需要WPF呢?图1 从User32到WPF的发展历程 首先,让我们来回顾一下微软的各种界面显示技术: User32:它提供了最基本的Windows界面,包括按钮,编辑框和其他UI元素。但是,User32缺乏的是图形图像的绘制功能,无法对屏幕实现自定义的绘 阅读全文

posted @ 2011-05-13 22:25 linFen 阅读(478) 评论(0) 推荐(0) 编辑

摘要: 示例 1、DataGrid.xamlCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><UserControlxmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"x:Class="Silverlight20.Control.DataGrid"xmlns="http:/ 阅读全文

posted @ 2011-05-13 22:06 linFen 阅读(439) 评论(0) 推荐(0) 编辑

摘要: 在WPF引擎中,一个WPF应用程序就是一个进程,由WPF中的Application类(System.Windows.Application)控制,就如同WF中的Runtime,负责WPF应用程序的生命周期,提供一些基本服务,先看个例子: using System;using System.Windows; // the home of the Application classclass Program{ [STAThread] static void Main() { Application app = new System.Windows.Application(); Window1 w. 阅读全文

posted @ 2011-05-13 22:01 linFen 阅读(2613) 评论(0) 推荐(0) 编辑

摘要: //验证输入为数字 02private void txt_time_KeyDown(object sender, KeyEventArgs e) 03{ 04if (!((e.Key >= Key.D0 && e.Key <= Key.D9) || (e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9))) 05{ 06e.Handled = true; 07} 08} 0910//屏蔽粘贴非法字符 11private void txt_time_TextChanged(object sender, 阅读全文

posted @ 2011-05-13 21:58 linFen 阅读(3101) 评论(0) 推荐(0) 编辑

摘要: ①BitmapImage source = Application.Current.Resources["OrganImage"] as BitmapImage;②BitmapImage source = this.FindResource("OrganImage") as BitmapImage;BitmapImage source = this.TryFindResource("OrganImage") as BitmapImage;this为FrameworkElement类型 阅读全文

posted @ 2011-05-13 21:58 linFen 阅读(557) 评论(0) 推荐(0) 编辑

摘要: <Window x:Class="WPFdemo1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="327" Width="729"> <DockPanel Name="dockPanel1& 阅读全文

posted @ 2011-05-13 21:47 linFen 阅读(4813) 评论(0) 推荐(1) 编辑

摘要: WPF提供了丰富而灵活的布局机制,我们利用一些工具可以很方便的控制元素的布局格式。1. 布局基础:WPF提供了一组面板(panel)用于控制布局,每个面板都有自己的一些特性,你可以根据需要选择面板,或是组合或是嵌套面板从而灵活控制你的布局。StackPanel:横向或是竖向排列子控件,常用于小范围排版场合WrapPanel:类似于StackPanel,将子控件从左到右排列,不同的是当横向空间不够时,他会自动换到下一行。DockPanel:类似于Winform中的Dock属性,将子控件贴在某个方向上。Grid :将子控件排列于行和列中,可以灵活的定义行列的宽度和跨度UniformGrid:类似于 阅读全文

posted @ 2011-05-13 21:19 linFen 阅读(1091) 评论(0) 推荐(0) 编辑

2011年5月6日

摘要: 控件模版ControlTemplate就是设置控件的外观,比如我们常见到的按钮是下面这样的,但是我们如何改变成圆形的呢?view sourceprint?01<Window x:Class="DeepXAML.MainWindow"02xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"03xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"04xmlns:local="clr-name 阅读全文

posted @ 2011-05-06 23:24 linFen 阅读(620) 评论(0) 推荐(1) 编辑

摘要: WPF模版主要分为俩大类:ControlTemplate: 控件的外观,也就是控件是什么样子DataTemplate: 是数据内容的表现,一条数据显示成什么样子1. 数据模版常用的地方有以下几处:ContentControl的ContentTemplate属性。ItemsControl的ItemTemplate属性。GridViewColumn的CellTemplate属性。 2. 示例ItemsControlContentControl3. DataTemplate除了可以作用在控件上,也可以作用再数据类型上view sourceprint?01<Window x:Class=&quo 阅读全文

posted @ 2011-05-06 23:22 linFen 阅读(5537) 评论(0) 推荐(1) 编辑

摘要: 在WPF中资源通常用作“样式”(Style)、样式模板、数据模板等。一、资源的定义及使用1. 应用程序级资源:定义在App.xaml文件中,作为整个应用程序共享的资源view sourceprint?1<Application x:Class="DeepXAML.App"2xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"3xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"4StartupUr 阅读全文

posted @ 2011-05-06 23:18 linFen 阅读(1844) 评论(1) 推荐(0) 编辑

摘要: 1. 样式中的Setter使用示例:view sourceprint?01<Window x:Class="DeepXAML.MainWindow"02xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"03xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"04xmlns:local="clr-namespace:DeepXAML"05xmlns:sys="clr- 阅读全文

posted @ 2011-05-06 23:15 linFen 阅读(1973) 评论(0) 推荐(1) 编辑

摘要: 一、WPF为何需要命令我们已经知道WPF里已经有了路由事件,可以发布及传播一些消息,那为什么还需要命令呢?这是因为事件指负责发送消息,对消息如何处理则不管,而命令是有约束力,每个接收者对命令执行统一的行为,比如菜单上的保存,工具栏上的保存都必须是执行同样的保存。二、命令系统的基本元素命令(Command):实现了ICommand接口的类,经常使用的有RoutedCommand类命令源: 是命令的发送者,是实现了ICommandSource接口的类,大部分界面的控件都实现了这个接口,Button, MenuItem 等等。命令目标:命令的接收者,命令目标是视线了IInputElement接口的类 阅读全文

posted @ 2011-05-06 23:13 linFen 阅读(7772) 评论(4) 推荐(1) 编辑

摘要: 逻辑树<Window> <Grid> <Button> <StackPanel> <Image/> <TextBlock/> </StackPanel> </Button> </Grid></Window>但是实际上这些元素在运行时会扩展为可是树事件路由 对逻辑树和可视树有所了解很有必要,因为路由事件主要是根据可视树进行路由。路由事件支持三种路由策略:气泡、隧道和直接。 气泡事件最为常见,它表示事件从源元素扩散(传播)到可视树,直到它被处理或到达根元素。这样您就可以针对源元素 阅读全文

posted @ 2011-05-06 23:09 linFen 阅读(2390) 评论(0) 推荐(0) 编辑

摘要: 一、依赖属性依赖属性就是自己自己没有值,通过Binding从数据源获得值,就是依赖在别人身上,拥有依赖属性的对象称为依赖对象。几种应用依赖属性的场景: 1. 希望可在样式中设置属性。 2. 希望属性支持数据绑定。 3. 希望可使用动态资源引用设置属性。 4. 希望从元素树中的父元素自动继承属性值。 5. 希望属性可进行动画处理。 6. 希望属性系统在属性系统、环境或用户执行的操作或者读取并使用样式更改了属性以前的值时报告。 7. 希望使用已建立的、WPF 进程也使用的元数据约定,例如报告更改属性值时是否要求布局系统重新编写元素的可视化对象。 依赖对象创建时并不包含存储数据空间。WPF中必须使用 阅读全文

posted @ 2011-05-06 23:05 linFen 阅读(13976) 评论(5) 推荐(1) 编辑

摘要: 有时我们展现的数据,需要进行转换,比如如果一个学生的成绩过了60,我们显示一个Pass的图片。XAML:view sourceprint?01<Window x:Class="DeepXAML.MainWindow"02xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"03xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"04xmlns:local="clr-namespace:De 阅读全文

posted @ 2011-05-06 23:02 linFen 阅读(1217) 评论(0) 推荐(0) 编辑

摘要: 设置Binding的ValidationRules属性对Binding进行检验view sourceprint?1<StackPanel> 2<TextBox x:Name="txtAge" FontSize="30" Foreground="Red"></TextBox> 3<TextBlock x:Name="errorSummary" FontSize="30" Foreground="Red"></TextBloc 阅读全文

posted @ 2011-05-06 23:00 linFen 阅读(1231) 评论(0) 推荐(1) 编辑

摘要: 1. 绑定到其它元素view sourceprint?1<Grid> 2<StackPanel> 3<TextBox x:Name="textbox1" /> 4<Label Content="{Binding ElementName=textbox1, Path=Text}" /> 5</StackPanel> 6</Grid>2. 绑定到静态资源view sourceprint?1<Window.Resources> 2<ContentControl x:Key 阅读全文

posted @ 2011-05-06 22:57 linFen 阅读(3816) 评论(0) 推荐(1) 编辑

摘要: 绑定,就是把一个对象属性的值绑定在别的对象的属性上1. 默认绑定public class Company { public string Name { get; set; } } XAML代码view sourceprint?1<StackPanel x:Name="stackPanel"> 2<TextBox x:Name="txtName" Text="{Binding Path=Name}"></TextBox> 3<TextBox x:Name="txtName2" 阅读全文

posted @ 2011-05-06 22:53 linFen 阅读(38431) 评论(3) 推荐(4) 编辑

摘要: 一、 Grida. 单元格的宽度可以设置三类值绝对值:double数值加单位后缀比例值:double数值加一个星号*自动值: auto,高度将有内部的控件的高度和宽度决定。b. Grid可接受的宽度和高度的单位1in=96px1cm=(96/2.54)px1pt=(96/72) pxc. 示例view sourceprint?01<Window x:Class="DeepXAML.MainWindow"02xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"03xmlns 阅读全文

posted @ 2011-05-06 22:45 linFen 阅读(3868) 评论(0) 推荐(1) 编辑

摘要: 1. ContentControl族 他们都继承ContentControl,都是控件,内容属性的名称为Content,只能由单一元素充当起内容包含的控件有:ButtonBaseRepeatButtonCheckBoxComboBoxItemButtonContentControlLableFrameToggeButtonGridViewColumnHeaderGroupItemListBoxItemRadioButtonListViewItemNavigationWindowScrollViewerStatusBarItemToolTipUserControlWindowview sourc 阅读全文

posted @ 2011-05-06 22:43 linFen 阅读(5526) 评论(0) 推荐(2) 编辑

摘要: 1. WPF类控件的派生关系图,紫色的部分开始才算是进入WPF的框架里。2. WPF控件图WPF的UI控件主要有以下类型,ContentControl, HeaderedContentControl, ItemsControl, HeaderedItemsControl, Panel, Adorner(文字点缀元素), Flow Text(流式文本元素), TextBox, TextBlock, Shape. 阅读全文

posted @ 2011-05-06 22:40 linFen 阅读(955) 评论(0) 推荐(1) 编辑

摘要: 1. 使用标签的Attribute为对象属性赋值我们可以按上面的方式用字符串来赋值,但是比如上面的Fill其实Shape.Fill类型,那为什么我么可以赋Red呢?因为WPF使用TypeConverter进行了转换.2. 使用TypeConverter类将XAML的Attribute与对象的Property进行转换view sourceprint?1namespace DeepXAML 2{ 3[TypeConverter(typeof(StringToPersonConverter))] 4public class Person 5{ 6public string Name { get; s 阅读全文

posted @ 2011-05-06 22:39 linFen 阅读(1178) 评论(0) 推荐(1) 编辑

摘要: 这个命名空间存放的就是XAML和XAML编译器沟通的东西,比如编译时与那个C#代码合并等一、 在XAML中出现的方式有三种1.标签扩展: x:Array, x:Null, x:Static, x:Type2. XAML指令元素: x:Code, x:XData3. Attribute: x:Class, x:ClassModifier, x:FieldModifier, x:Key, x:Name, x: Shared, X:Subclass, x:TypeArguments, x:Uid.二、详解x:Class:告诉XAML编译器将XAML标签的编译结果与后台制定的类合并,这个类必须使用pa 阅读全文

posted @ 2011-05-06 22:35 linFen 阅读(4371) 评论(1) 推荐(3) 编辑

2011年5月4日

摘要: jQuery 的出现为我们的开发工作带来了极大的便利,而众多的基于jQuery插件的出现就犹如我们在 Firefox 中安装名目繁多的插件一样而乐此不疲,今天带给大家的是精心挑选的这30个最好的jQuery表单插件,希望能提高您的 工作效率,如果您还有更好的,请在次留下您的建议。 Advanced Form ValidationForm Validator的几个特点,如:支持域的分组要求或有条件的验证它是否有效。您也可以验证字符串、数字、日期及邮箱等。您也可以组合多个验证条件。例 如:验证输入的字段必需为数字的且最小长度为5。jQuery Live Form Validation帮助您简单地创 阅读全文

posted @ 2011-05-04 10:03 linFen 阅读(2782) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 34 下一页