代码改变世界

随笔分类 -  WPF

wp7 中Panorama控件 title 字体设置

2012-04-16 23:37 by 观海看云, 213 阅读, 收藏, 编辑
摘要: 如果我们建立一个新的Panorama控件. 如果title是中文默认会是下面这个样子,上面部分会被截断. 英文看起来还好.中文的话很不爽. 如果我们想把字体放小一些,或是像下移动一些. 我们可以编缉title的模板. <controls:Panorama > <controls:Panorama.Title> <TextBlock Text="我的应用程序" FontSiz... 阅读全文

WP7开发 显示长文本

2012-02-17 21:54 by 观海看云, 315 阅读, 收藏, 编辑
摘要: 在开发中,遇到了这样一个情况:显示一段文字。理所当然地写出了一个TextBlock,设置了高度自动,并熟练的进行了数据绑定…… 测试的时候发现,由于这段文字太大,TextBlock居然显示不完整。百度了一下,发现有很多朋友也都遇到了相同的问题,估计微软是在设计的时候考虑到性能因素,把这个控件的显示进行了限制。 这也就算了,更恶心的是,这个TextBlock的外层控件的高度如果也设置成自动的话,它的高度会随着文本的长度变化而变化,假设TextBlock外层是一个StackPanel,这个StackPanel中只有这个TextBlock且高度设为自动,TextBlock中的文本很长,文本高度假.. 阅读全文

GB2312 for Silverlight

2011-12-20 01:17 by 观海看云, 596 阅读, 收藏, 编辑
摘要: Project DescriptionThis class is for support GB2312 simplified Chinese characters for Silverlight(include Windows Phone 7) Application and inherited from Encoding abstract class. It's developed in CSharp.这个类能够让 Silverlight(包含 Windows Phone 7)应用程序支持 GB2312 简体中文字符集,从 Encoding 抽象类继承。使用 C# 语言编写。GB23 阅读全文

wpf获取和设置应用程序范围的资源

2011-10-18 23:05 by 观海看云, 938 阅读, 收藏, 编辑
摘要: Application 为共享的资源 Resources 公开应用程序范围的存储区。 存储在 Resources 中的资源可以从在应用程序的 Application 对象 范围内执行的任何代码(即,可访问 Current 的代码)中获得。 另外,还可在资源查找路径中使用 Resources。<Application.Resources><SolidColorBrush x:Key="ApplicationScopeResource" Color="White"></SolidColorBrush></Applic 阅读全文

在 DataGrid 控件中显示 SQL Server 数据库中的数据

2011-05-17 21:21 by 观海看云, 3856 阅读, 收藏, 编辑
摘要: 在实例中,将从 SQL Server 数据库检索数据,并在DataGrid控件中显示该数据。您可以使用ADO.NET Entity Framework创建代表数据的实体类,使用 LINQ 编写从实体类中检索指定数据的查询。效果图如下:转载自:http://www.wpf123.com使用 C# 创建一个新的 WPF 应用程序项目,并将其命名为DataGridSQLExample。在解决方案资源管理器中右击您的项目,指向“添加”,然后选择“新建项”。此时将显示“添加新项”对话框。在“已安装的模板”窗格中,选择“数据”并在模板列表中选择“ADO.NET 实体数据模型”。将文件命名为ADOTest. 阅读全文

wpf dataGrid 简单数据绑定

2011-05-15 16:20 by 观海看云, 2028 阅读, 收藏, 编辑
摘要: 数据实体类:[Table(Name = "customers")] public class Customer { private string _CustomerID; [Column(IsPrimaryKey=true,Storage="_CustomerID")] public string CustomerID { get { return this._CustomerID;www.wpf123.com } set { this._CustomerID = value; } } private string _City; [Column(Stor 阅读全文

SqlMethods

2011-05-13 15:18 by 观海看云, 932 阅读, 收藏, 编辑
摘要: http://msdn.microsoft.com/zh-tw/library/system.data.linq.sqlclient.sqlmethods.aspx最近專案的關係,一直再想LINQ是否有提供T-SQL中的LIKE方法,於是找了一下MSDN,結果發現了SqlMethods類別。這類別確實好用,不過提供少是最大的遺憾。甚麼是SqlMethods呢!?它是一個對應SQL Server函式的方法,只有LINQ TO SQL才支援;換言之,就是LINQ TO SQL提供部分的SQL Server函式的方法。以下我們來介紹LIKE與DateDiffDay的用法:1.SqlMethods類別 阅读全文

WPF中自定义只能输入数字的TextBox

2011-04-18 14:59 by 观海看云, 2459 阅读, 收藏, 编辑
摘要: KeyDown事件:privatevoidTextBox_KeyDown(objectsender,System.Windows.Input.KeyEventArgse){TextBoxtxt=senderasTextBox;//屏蔽非法按键if((e.Key>=Key.NumPad0&&e.Key<=Key.NumPad9)||e.Key==Key.Decimal){if(txt.Text.Contains(".")&&e.Key==Key.Decimal){e.Handled=true;return;}e.Handled=fa 阅读全文

Path的Data

2011-04-12 23:10 by 观海看云, 399 阅读, 收藏, 编辑
摘要: Path的Data数据有三种生成方式:1. 最简单的是用Expression Design。可以粘贴来自其它软件的矢量图形。导出时选择,文件->导出->导出属性->格式->XAML Silverlight 画布,即可得到XAML格式的矢量图形,也就是Path。2. 如果只是把文字转成图形,相当于印刷行业里的文字转曲,可以直接用Expression Blend。对象->路径->转换为路径,即可。3. 自己动手写。当然这也是最难的方式。不过对于简单图形来说非常有用。用Design生成的数据量很大,手写就会变得很简洁。命令的使用方法如下:============= 阅读全文

UpdateSourceTrigger 属性控制绑定源更新的执行时间

2011-04-09 23:56 by 观海看云, 491 阅读, 收藏, 编辑
摘要: TextBox. Text 属性的默认 UpdateSourceTrigger 值为 LostFocus。 这意味着如果应用程序的 TextBox 包含数据绑定 TextBox. Text 属性,则直到 TextBox 失去焦点(例如,将鼠标移到 TextBox 外单击时),键入到 TextBox 中的文本才能更新源。 如果希望在键入过程中更新源,请将该绑定的 UpdateSourceTrigger 设置为 PropertyChanged。 在下面的示例中, TextBox 和 TextBlock 的 Text 属性都绑定到同一源属性。 将 TextBox 绑定的 UpdateSourceT. 阅读全文

ControlTemplate和ItemTemplate的区别

2011-04-09 17:32 by 观海看云, 1115 阅读, 收藏, 编辑
摘要: ControlTemplate是指控件的样式ItemTemplate是指可绑定泛型的控件内容的样式即只有那些有item的控件才有ItemTemplate(如ListBox ,Combox,TreeView,DataGrid,TabelControl等,),但是所有控件都有ControlTemplatesilverlight的控件大概派生于两种类。一种是contentcontrol类(例如按钮控件),另一种是itemscontrol(例如listbox控件,这种控件可以实现项目集合)。由于contentcontrol类提供了contenttemplate属性,所以可以采用controltemp. 阅读全文

ObservableCollection<T> 类

2011-04-09 16:38 by 观海看云, 3942 阅读, 收藏, 编辑
摘要: 表示一个动态数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。命名空间: System.Collections.ObjectModel程序集: System(在 System.dll 中) 用于 XAML 的 XMLNS:未映射到 xmlns。语法:[SerializableAttribute] public class ObservableCollection<T> : Collection<T>, INotifyCollectionChanged, INotifyPropertyChanged在许多情况下,所使用的数据是对象的集合。例如,数据绑定中的一个 阅读全文

INotifyPropertyChanged 接口

2011-04-09 15:46 by 观海看云, 508 阅读, 收藏, 编辑
摘要: 向客户端发出某一属性值已更改的通知。命名空间: System.ComponentModel程序集: System(在 System.dll 中) 语法public interface INotifyPropertyChangedpublic interface class INotifyPropertyChanged 备注INotifyPropertyChanged 接口用于向客户端(通常是执行绑定的客户端)发出某一属性值已更改的通知。 例如,考虑一个带有名为 FirstName 属性的 Person 对象。 若要提供一般性属性更改通知,则 Person 类型实现 INotifyProper. 阅读全文

WPF中图形表示语法详解(Path之Data属性语法)

2011-04-06 16:26 by 观海看云, 404 阅读, 收藏, 编辑
摘要: 老规矩,看图说话。先看显示效果:(图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&q 阅读全文

WPF – 使用触发器

2011-03-29 01:04 by 观海看云, 466 阅读, 收藏, 编辑
摘要: WPF提供了很重要的一个东西就是绑定Binding, 它帮助我们做了很多事情,这个我们在WPF学习之绑定这篇里边有讲过。对于Binding我们可以设置其绑定对象,关系,并通过某种规则去验证输入,或者转换值等等,这一切的背后是省去了很多我们需要自己去处理的代码。而对于WPF最主要表现的东西—渲染UI,当然是我们必须去了解和把握的了。美工设计了很多效果,并把其设计成样式展现(很大程度上我们应该认为Style也是一种资源),而作为程序员的我们不应该只是简单的拿来这些拼凑的效果,根据程序的逻辑和用户的操作来动态的展现效果才是我们能发挥它对界面渲染的更好途径。Trigger就给我们提供了很好的途径去结合 阅读全文

WPF学习之资源-Resources

2011-03-29 00:48 by 观海看云, 1632 阅读, 收藏, 编辑
摘要: WPF通过资源来保存一些可以被重复利用的样式,对象定义以及一些传统的资源如二进制数据,图片等等,而在其支持上也更能体现出这些资源定义的优越性。比如通过ResourceDictionary的支持就可以通过资源来实现换肤功能,在ExpressionBlend中设计的酷炫造型也可以通过导出成资源来很容易的被程序员所引用,本地化的实现,访问另外程序集的嵌入式资源等等。这些都给我们提供了丰富的手段通过资源访问架构来构建丰富的富媒体应用程序。本文简单讲解了WPF Resources的分类及其常见用法,并简单触及用ResourceDictionary来管理多个Resources文件(这是换肤的基础)。在WP 阅读全文

WPF使用资源字典组织资源

2011-03-29 00:28 by 观海看云, 697 阅读, 收藏, 编辑
摘要: 首先在解决方案资源管理器中添加一个或多个资源词典(资源字典),并向多个资源字典中添加对象资源信息。示例中新建了三个资源字典,并向资源字典中添加了对象资源,代码如下。第一个资源字典:(第一个资源字典命名为MyDictionary1.xaml)<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><ImageBrush 阅读全文

Winform/WPF实例中的相互操作

2011-03-22 12:57 by 观海看云, 787 阅读, 收藏, 编辑
摘要: 介绍一下如何在实例中相互操作,比如在程序A中调用程序B中的方法,看起来不太可能,不过我们可以利用Win32API来实现。我们需要用到2个Win32函数:uint RegisterWindowsMessage(string lpString);注册一个新的窗口消息,该消息确保在系统中是唯一的,返回消息值,可在下面SendMessage函数中调用,如果该消息已经存在,则返回它的消息值IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);向指定的窗口发送消息IntPtr FindWindow(string I. 阅读全文

如何在WPF中调用Winform控件

2011-03-22 12:16 by 观海看云, 9603 阅读, 收藏, 编辑
摘要: 功能实现主要分三步:1、添加两个引用:WindowsFormsIntegration.dll(负责整合WPF和Windows)、System.Windows.Forms.2、在 XAML文件中添加两个引用(粗体部分):<Window x:Class="CrossBowDemo.MainWindow" xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" xmlns:wf ="clr-namespace:Sys 阅读全文

控件之DataGrid, DatePicker, Grid, GridSplitter, HyperlinkButton, Image

2010-10-26 21:37 by 观海看云, 350 阅读, 收藏, 编辑
摘要: 示例 1、DataGrid.xamlCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--<UserControlxmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Win... 阅读全文