随笔分类 - wpf
(wpf litle thing)
摘要:偶然间看到的消消看,就是三个或者以上的会消去,就随手写了写,当时还是汕头,那一天没事儿,刚好有些想法,就写了写,只是一个初稿,没有积分或者下一关大概思路:整个界面9*9 81个格子,通过9行9列进行判定,消去还是重新生成,内部有两个线程,一个控制界面消去,另外一个控制图片从上往下落 //64位数组,存储64个图片 private ImageShow[,] imageList = new ImageShow[8, 8]; //图片固定大小尺寸 private const int ImageSize = 94; //两个已经被选...
阅读全文
摘要:wpf的3D是一个很有意思的东西,类似于ps的效果,类似于电影动画的效果,因为动画的效果,(对于3D基础的摄像机,光源,之类不介绍,对于依赖属性也不介绍。),个人认为,依赖属性这个东西,有百分之五十是为了3D而存在。(自己写的类似于demo的东西)先上图,无图无真相这是demo的整个效果图,可以用鼠标移动,触摸屏也可以手指滑动,图片会移动,然后移动结束,会有一个回弹的判断。<Window x:Class="_3Dshow.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presenta
阅读全文
摘要:提到聊天程序,一般都会想到socket,一边发,一边发,简单而又威武。wpf支持绑定,支持类似动态刷新,而且wcf支持的服务用户更多,通信上,更是能做到伪peer to peer(就是p2p....笔者对这个一直很感兴趣) 的通信方式,说他是伪peer to peer方式,是因为可以把wcf服务当一个中转站,然后让每一个用户直接通信,而避免中转!只是个想法。。。。 好了,不扯皮了,三个工程,server host client server端: 通信接口 [ServiceContract(SessionMode = SessionMode.NotAllowed)] public inte...
阅读全文
摘要:wpf的资源是很有意思的东西,仅次于binding和依赖属性之类。资源分为几种,其一是自定义的,也就是说写在资源字典中的,比如,我新建了一个资源字典1、逻辑资源<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <ResourceDictionary.MergedDictionaries > <R
阅读全文
摘要:wpf XamlReader.Load方法允许将一个Xaml解析,也就是说如果你用这个方法可以调用另外一个Xaml的内容。随便建一个wpf程序,新建一个wpf窗体,叫做fish.Xaml,在window1窗体中,window_load事件中,写入以下代码: Window window = null;//using 是一个C#释放内存的范围定义,简单说一下,自己goog一下 using (FileStream fs = new FileStream(@"C:\cx\fishdemo\fishdemo\fish.xaml", FileMode.Open, FileAccess.
阅读全文
摘要:百度或者谷歌一下,3d,看吧,介绍ModelVisual3D,介绍GeometryModel3D,介绍Model3DGroup,都简单的介绍了一 下,但是,这些东西如果我想知道,我直接去msdn不就行了,齐而且全,我还去百度谷歌什么,我只是想知道如何和在viewport3d中显示一个图片而 已,可怜的中文资料! 好了,如果是高手,就甭看了,这只是一个简单介绍如果用3d的小例子,如果是跟我一样想学3d,但是不知道如何入门的 菜鸟,我只能说,咱们都是同志 Xaml设计中: <Viewport3D x:Name="_view"> </Viewport3D>
阅读全文
摘要:ICommand 接口是常用接口,在wpf中,经常会为一个button或者一个link绑定一个command public interface ICommand { // 摘要: // 当出现影响是否应执行该命令的更改时发生。 event EventHandler CanExecuteChanged; // 摘要: // 定义用于确定此命令是否可以在其当前状态下执行的方法。 // // 参数: // parameter: // 此命令使用的数据。如果此命令不需要传递数据,则该对象可以设置为 null。 // // 返回结果: // 如果可以执行此命令,则为 true;否则为 false。 bo
阅读全文
摘要:在几个情况下:1、你的同事给了你一个类库,这个时候你想动态创建dll里的类型的实例,这个参考http://msdn.microsoft.com/zh-cn/library/z919e8tw%28v=vs.80%29.aspx因为我没弄过2、我想获得某个工程里的某一个类的类型因为笔者用的多的是这种情况,所以就主要说些这类的东西。一个简单的例子三个类:class Factory{virtual void Convert(){};}class AFactory:Factory{override void Convert(){};}class BFactory:Factory{override voi
阅读全文
摘要:Invoke和BeginInvoke都是操作其他线程的方法,区别在于一个是同步的一个异步的,简单来说就是一个是立即执行,另一个是等要操作线程结束后再执行。简单的例子: private void C() { Debug.WriteLine("c"); } private void A() { Debug.WriteLine("a"); } private void B() { Debug.WriteLine("b"); } private delegate void BeginInvokeDelegate(); private void
阅读全文
摘要:经常会被这样问到,其实就是面试的时候,很多时候会被这样问道,从一个非ui线程更改更改ui线程,最简单的是更改一个form的标题,或者更改一个txtbox的内容。winform和wpf 是有所不同的,winform直接用this.Invoke()方法直接更改就行了,wpf没有直接的invoke,要Dispatch.Invoke();简单的例子:this.Dispatcher.Invoke((Action)delegate{this.Title="爱喝可乐";});如果要是从一个类库去更改主线程的话,就不弄用this了,要用AppApplication.Current.Disp
阅读全文

浙公网安备 33010602011771号