摘要:
数据绑定使用了ObservableCollection<T> 类来实现,ViewModel通过继承GalaSoft.MvvmLight.ViewModelBase类来实现,Command使用GalaSoft.MvvmLight.Command.RelayCommand<T>来实现。ObservableCollection<T>表示一个动态数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。客户列表绑定客户的名字、QQ、地址信息,单击的时候显示客户的全部详细信息。View层<phone:PhoneApplicationPagexmlns=&qu 阅读全文
摘要:
正如绑定TextBox控件的Text属性一样, 我们希望能够将PasswordBox空间的Password属性进行绑定, 比如在MVVM模式中,这似乎是必须的, 但可惜的是, Password属性是不支持绑定的(不是依赖属性, 也没有实现INotifyPropertyChanged). 这应该是出于安全性的考虑. 但在我们的系统为了实现View层密码框中的密码与后台其它层之间的密码属性之间的绑定, 可以采取如下思路: 将密码框的密码和某一个缓冲区进行同步, 缓冲区在和后台进行绑定. 其中密码框与缓冲区之间的同步可采用事件进行通知, 并将缓冲区打造成依赖属性, 然后缓冲区就支持绑定了, 并给.. 阅读全文
摘要:
一直想做个wpf的loading遮罩效果,论坛里无意间看到别人写了这么一个效果 共享给大家,也留作自己备用先上个效果图基本效果就是这样 实现起来也是只有xaml的动画,实现起来比较方便:代码如下:<UserControl x:Class="Test.LoadingMask" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc 阅读全文
摘要:
图1 View、ViewModel、Model之间的关系 在SilverLight或者WPF开发中,为什么要用MVVM架构 使用MVVM架构最大的好处是:开发人员在写程序的时候不需要做UI,而设计人员可以使用Microsoft Expression Blend 4+设计全部的UI并且不需要写任何代码。 主要的好处如下: 1、设计人员可以用设计工具很容易的设计UI,而且不需要写任何代码 2、你可以更好的设计UI,而且可以让即使不是开发人员使用。 3、可以先设计UI或者与开发同时设计。 4、当UI全部改变时,代码可以不改变。 为了达到以上要求。... 阅读全文
摘要:
最近在学习MVVM模式,看到其中比较重要的一个知识点就是ICommand,搜集了一些很好的资料,在此整理一下。ICommand - 命令。可以将其绑定到 ButtonBase 或 Hyperlink 的 Command 属性上MVVM 模式 - Model-View-ViewModel MVVM基础学习,本人是看了http://www.cnblogs.com/626498301/archive/2010/08/18/1802204.html讲得很好,很简单也很细致,还有例子。 ICommand 知识,参照MSDN(http://msdn.microsoft.com/zh-cn/library/ 阅读全文
摘要:
本页内容采用倒叙方式,且看: 10. 高级图形 9. 绘制对象模型 8. 丰富的应用程序文本 7. 可修改的 UI 布局 6. 灵活的内容模型 5. 无外观控件 4. 数据驱动UI 3. 一致的风格 2. 触发器 1. 声明性编程 我们所处的位置当前基于 Win32 的 Windows UI 图形子系统(创建于 Windows® XP 中)已经使用了将近 20 年。它不仅过时了而且有很多限制,从而在某种程度上桎梏了用户界面开发。Windows Presentation Foundation (WPF)(内置于 .NET Framework 之中)为开发应用程序提供了新技术,并可以更好 阅读全文
摘要:
尽管有时候用绚丽的WPF展示一个老土的实时时钟标签,让人觉着比老土更老土,但也难免部分特殊情况下会用到这样一个东西,今随手写一个实时刷新的TextBlock时钟放于此地留存,以备不时之需。代码如下:View Code public MainWindow() { InitializeComponent(); InitializeTimeDisplay(); }View Code private void InitializeTimeDisplay() { InitializeTimer... 阅读全文
摘要:
字符串比较是比较常用的操作,一般出于以下两个原因比较字符串:判断相等 字符串排序 查询API判断字符串相等或排序时,由以下方法: public override bool Equals(object obj); public bool Equals(string value); public static bool Equals(string a, string b); public bool Equals(string value, StringComparison comparisonType); public static... 阅读全文
摘要:
staticvoid Main(string[] args){ string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Console.WriteLine(s[0]); // 输出"A"; Console.WriteLine(s.Length); // 输出4 Console.WriteLine(); //(2)打散为字符数组(ToCharArray) s ="ABCD"; char[] arr = s.ToCharArray(); // 把字符串打散成字符数组{'A 阅读全文
摘要:
(一)Messenger的基本组成Messenger类用于应用程序的通信,接受者只能接受注册的消息类型,另外目标类型可以被指定,用Send<TMessage, TTarget>(TMessage message)实现,在这种情况下信息只能被传递如果接受者类型和目标参数类型匹配,message可以是任何简单或者复杂的对象,你可以用特定的消息类型或者创建你自己的类型继承自他们(1)MessageBase:简单的消息类,携带可选的信息关于消息发布者的(2)GenericMessage<T>:范型消息(3)NotificationMessage: 用于发送一个string类型通 阅读全文