随笔分类 -  .Net

摘要:1.Why use cocos2d?多平台支持,有多少?请看List:AndroidiOSWindows Phone 8Windows 8Windows 7Mac OS XLinuxBlackBerryBada 怎么样,包含全部的主流设备。列表中没写Phone7.但是cocos2d针对Phone7有个基于XNA的版本,C#的。喜欢快速开发的可以用C#去体验下。 由于是C++编写,这样开发环境可以是Win+VS,以后要迁移到Ios和Andriod相当方便。在Andriod下可以用adt+ndk-r7,工具可以是Eclispe。2.Getcocos2d https://github.com/... 阅读全文
posted @ 2013-03-18 16:42 老鱼_678 阅读(623) 评论(1) 推荐(0) 编辑
摘要:C#开发Windows应用程序中经常需要去控制系统的音量,分两种方式:1.使用Win Api控制2.使用C++ dll控制Win Api控制: 使用user32.dll和winmm.dll都可以控制系统音量,区别是Win系统的版本。winmm.dll Xp环境下可用,user32.dll Vista及以上版本。C++ dll控制: CoreAudioApi 是C++ 第三方封装了音量控制,网上下载DLL后再项目中引用即可使用。CoreAudioApiVista及以上版本支持。下面给出代码1.winmm控制方式,涉及Xp系统波形声音的左右声道,高位为左声道,低位为右声道:winmm 1 [D.. 阅读全文
posted @ 2013-03-18 11:00 老鱼_678 阅读(12057) 评论(0) 推荐(0) 编辑
摘要:在实际项目的UI设计中,经常会使用到TabControl,比如标签式浏览器、选项卡设置等等。根据不同的需求,需要TabControl展示不同的样式,这里我们来学习下TabControl。来看下TabControl 属性TabStripPlacement 控制TabItem Header的方向,如图:我们来看下TabControl的继承关系:TabControl-Seletor-ItemControl这样就很清晰了,TabControl和ListBox一样继承自Seletor,这样我们就可以通过ControlTemplate和DataTemplate来编写TabControl和TabItem的显 阅读全文
posted @ 2012-10-30 10:37 老鱼_678 阅读(3819) 评论(0) 推荐(1) 编辑
摘要:在项目中使用ListBox时,经常会将ItemContainerStyle和ItemTemplate的作用搞混,ItemTemplate可以搞定一切好似ItemContainerStyle有点多余。我们再来看下ItemContainerStyle和ItemTemplate。 ItemContainerStyle用于给每个Item的容器定义样式,其类型是Style。包含了操作Item的Triggers。 ItemTemplate是每个Item的现实样式,其类型是DataTemplate。 在实际应用中,我们往往需要根据用户操作不断的改变ListBox中Items的显示样式。这里 总结一... 阅读全文
posted @ 2012-10-16 11:43 老鱼_678 阅读(8853) 评论(0) 推荐(0) 编辑
摘要:1.AlignMode(读写)语法:AlignModeAsLong说明:对齐方式(与SAlign属性联动)。当控件的长宽比例与影片不一致且WMode不为ExactFit时,影片(没有被放大的)在控件中显示的位置可用该属性调整。该属性值由标志位组成。如图,将该属性值(二进制)中相应的位标记为1就设置了相应的对齐方向。属性值与相应的对齐方式(后面括号里是二进制数)1:左对齐(0001)2:右对齐(0010)4:顶对齐(0100)8:底对齐(1000)也可以组合各种对齐方式,同时将两个或以上的位标记为1,也就是将这四个基本值组合相加。比如同时左对齐和顶对齐,属性值则设为5(0101)。例子:设置影片 阅读全文
posted @ 2012-09-19 15:58 老鱼_678 编辑
摘要:实现步骤:1.实现整个鼠标框选的几个事件(down、move、up),当鼠标点下记录鼠标框选的起点,鼠标抬起结束操作。2.以鼠标框选过程中获取的鼠标坐标为基点计算框选的矩形的4点坐标,4点坐标以顺时针方向布点。3.通过Shape.Path类实现在类上画出此矩形。代码如下:namespace HostDemo {public class HostCanvas : Canvas {public HostCanvas() {InitializeComponent();}private void InitializeComponent() {this.Loaded += OnLoad;this.Mou 阅读全文
posted @ 2012-08-13 00:49 老鱼_678 阅读(5667) 评论(2) 推荐(0) 编辑
摘要:在项目中实际设计中需要改变RichTextBox的UI呈现,今天在Coding的过程中发现在RichTextBox的ControlTemplate中使用ContentPresenter并不能将RichTextBox的Content呈现出来。 查看MSDN,参见http://msdn.microsoft.com/en-us/library/ff457769(v=vs.95).aspx 原来要将Content的呈现只需将PART_ContentHost写入Template即可。 代码如下: <Grid> <RichTextBox> <RichTextBox.Docum 阅读全文
posted @ 2012-08-06 20:35 老鱼_678 阅读(1940) 评论(0) 推荐(0) 编辑
摘要:接上篇, 我们来看一看Elementname,Source,RelativeSource 三种绑定的方式 1.ElementName顾名思义就是根据Ui元素的Name来进行绑定: 例子: <Window x:Name="MainWindow"> <Grid> <Button Background=”{Binding ElementName=MainWindow, Path=Background}”/> </Grid> </Window> 效果等同于 <Window> <Grid> <B 阅读全文
posted @ 2012-08-06 10:58 老鱼_678 阅读(9838) 评论(1) 推荐(1) 编辑
摘要:在WPF应用的开发过程中Binding是一个非常重要的部分。在实际开发过程中Binding的不同种写法达到的效果相同但事实是存在很大区别的。这里将实际中碰到过的问题做下汇总记录和理解。1.source ={binding} 和source = {binding RelativeSource={RelativeSource self},Path=DataContext}效果相同理解:{binding} 不设定明确的绑定的source,这样binding就去从本控件类为开始根据可视树的层次结构自下而上查找不为空的Datacontext属性的值。 {binding RelativeSource={R 阅读全文
posted @ 2012-08-01 15:41 老鱼_678 阅读(9998) 评论(0) 推荐(3) 编辑
摘要:网上查到的代码,多数的写法使用MemoryStream来实现:new Thread(new ThreadStart(() => { var bitmap = new BitmapImage(); bitmap.BeginInit(); using (var stream = new MemoryStream(File.ReadAllBytes(...))) { bitmap.StreamSource = stream; bitmap.CacheOption = BitmapCacheOption.OnLoad; bitmap.EndInit(); bitmap.Freeze(); } t 阅读全文
posted @ 2012-03-29 10:27 老鱼_678 阅读(3899) 评论(1) 推荐(0) 编辑
摘要:首先引用COM组件 Microsoft Shell Controls And Automation 这里需要注意 DLL的属性Embed Interop Type 设为False 否则会引起互操作类型异常 代码如下 ShellClass sh = new ShellClass();Folder dir = sh.NameSpace(Path.GetDirectoryName(sFile));FolderItem item = dir.ParseName(Path.GetFileName(sFile));string det = dir.GetDetailsOf(item, iCol); i.. 阅读全文
posted @ 2012-03-05 13:30 老鱼_678 阅读(3714) 评论(1) 推荐(1) 编辑
摘要:在WPF中我们可以将Canvas当成一种画布,将Canvas中的控件当成元素,讲其转成位图文件:如下效果 图1.1 你可以设置Canvas的宽度、高度和颜色类型,生成任何你想要的图片。实时呈现你设置的样式等效果。 包括创建一些特效如阴影等。   WPF提供RenderTargetBitmap类将任何容器控件渲染成一个位图。 新建一个WPF项目,在页面中创建一个CANVAS,如下: [代码]在CS代... 阅读全文
posted @ 2010-09-14 10:10 老鱼_678 阅读(10416) 评论(4) 推荐(1) 编辑
摘要:WPF中UI的界面元素去绑定一个List对象数据列表,当源数据列表变更,UI元素如何获取变更通知呢?本文就这一系列问题展开阐述。    第一个问题:线程问题    我们知道不管WINFORM程序还是WPF程序,其UI有主线程控制,当我们开另外的线程去操作UI会抛出异常(由于其他线程拥有此对象无法访问)。    解决办法,通过Dispatcher属性的Invoke方法更新UI:       [代码]... 阅读全文
posted @ 2010-08-05 15:13 老鱼_678 阅读(8362) 评论(0) 推荐(0) 编辑
摘要:本文讲述WPF中单层次数据和多层次数据的绑定方法,主要阐述数据绑定的显示层面,其中涉及了ListBox和Treeview控件。并说明它们之间的差异。  在实际项目应用中会存在多种类型的层次结构数据,WPF提供了良好的数据绑定机制。其中运用最频繁的就是ListBox和TreeView控件。 一、ListBox和TreeView控件的区别  1.ListBox显示单层次数据集合,TreeView可以显... 阅读全文
posted @ 2010-06-23 09:41 老鱼_678 阅读(4987) 评论(6) 推荐(2) 编辑
摘要:要做基于WPF的音频文件循环顺序播放首先要了解WPF下有哪些类是用于控制音频的.  WPF下主要有两个音频控制的类,这里做下比较:    1.SoundPlayer      2.MediaPlayer     派生MediaElement 一.SoundPlayer类     1.基于.NET FRAMEWORK 2.0;    2.可播放WAV音频文件;     3.只能播放一个文件,同时播放... 阅读全文
posted @ 2010-06-07 11:14 老鱼_678 阅读(3645) 评论(2) 推荐(3) 编辑
摘要:由于Iphone的畅销苹果公司的Multitouch(多点触控)技术为我们所熟悉,Multitouch技术在这近年有了广泛的发展,这里我为大家介绍下微软在Multitouch技术方面的进展。   1.Surface solution      在08年微软公司推出了名为surface的Multitouch解决方案;基于surface可以开发多达同时20个点触控的应用程序,支持多点触控的手势、应力、... 阅读全文
posted @ 2010-06-04 13:39 老鱼_678 阅读(2379) 评论(0) 推荐(0) 编辑
摘要:本文内容: 1.问题引出 2.问题解决3.原因分析  最近部门的开发环境都更新到了WIN7+.NET framework4+VS2010上,在体验新技术和新环境带给我们提高效率的方式方法的同时也带来了一些兼容性的问题;这几天项目闲暇时在研究SQLite,在做实验的时候碰到个问题,代码编译通过执行时反复异常中断,查到后面原来是SQLite.dll是在framework2.0环境下编译的而现在的运行环... 阅读全文
posted @ 2010-06-01 10:07 老鱼_678 编辑
摘要:随着.net framework3.5的发布,在新的操作系统下(如VISTA、WIN7)中我们看到了大量炫丽的软件界面设计,使传统的WINFORM程序和WEB程序的界限变得模糊。主要内容 使用WPF开发基于导航的WINDOWS程序技术问题PAGE 切换WPF中使用NavigationWindow容器来放置Page,关于NavigationWindow的使用不在本篇的讲解范围;1.1 WPF中Pag... 阅读全文
posted @ 2010-05-25 16:02 老鱼_678 阅读(12774) 评论(1) 推荐(3) 编辑