`
文章列表
为了便于管理,博客已搬迁至CSDN http://blog.csdn.net/jianwang0412
在Canvas中,我们可以为它的子元素通过附加属性Canvas.Left和Canvas.Top来设置位置,那么子元素和Canvas之间的位置关系也就很清楚了,但是我们需要更一般化的方法,来获得某个子元素相对于桌面,某个父元素等的位置关系,那就需要引入Transform的概念了,也就是通过这个数学化的概念来达到我们想到达的目的。当然除了这个,还有计算的函数,那就是来自Visual的TransformToVisual(Visual visual)方法,在该方法的MSDN文档中有这样一个例子: XAML代码:   <StackPanel Name="myStackPanel&qu ...
        在Windows 8中,Animation角色的重要性超出了我们的想象,因为它也算是Windows 8流畅性体验的一部分。在我看来,Animation要做的好,有利于整体的布局,自定义控件,以及控件的行为的设计等等,都是为了用户体验。         通过定义ControlTemplate,我们可以为完全重新定义我们控件外观,而ControlTemplate中最重要的部分就是用来承载它外观的Visual Tree,这个模板必须包含如下的代码,即在发生适当的条件时,控件的外观应该是如何表现的。比如Button的Pressed状态的发生等等,虽然改变Button的外表状态不像是我们 ...
      RandomAccessStreamReference是WinRT中的一个类,从API文档中,可以得知,它的作用是为一个文件提供随机访问的输入或者输出流。对比发现,只要Windows.Storage.Streams空间中带个Reference的,都是称为提供某某流,相当于一个流生成类,目前除了接口定义出的IInputStreamReference、IRandomAccessStreamReference以及上诉的RandomAccessStreamReference(对IRandomAccessStreamReference的实现),就没有看见其他的了,奇怪的是没有对应的IOutpu ...
      随着Windows8的发布,微软给出了一个Windows Runtime(以下简称WinRT),据说是用COM技术实现的。在结合使用.NET和WinRT时,你会发现它们对相同的概念,有不同的实现,或者说是类,比如异步操作,.NET中用Task概念,而WinRT则是用IAsyncInfo,IAsyncAction等,而在流的概念中,.NET围绕Stream类建立,而WinRT则先定义了三个主要的接口,然后逐一实现之。本文就是集中在“流”的相互转换上,因为你在编写Metro App时,会用到WinRT组件。       首先,.NET的Stream可谓是集读、写以及流定位于一身的一个类 ...
       在.NET 4.5中,新的异步机制非常好用,但是有一点很容易搞错,那就是一旦一个await 完成了,或者说是你的一个异步任务完成了,那么接下去由谁(哪个线程上下文)来直接执行之后的代码?在Wpf中(或在Metro中),当 ...
简介 本文的主要参考资料:C# 5.0 in  a nutshell   ,由于我的英文能力有限,算是读书笔记。需要此书的可以留邮箱地址。以下是正文: HttpClient是.NET4.5提供的一个实现了http传输协议的类,该类可以说分装了HttpWebRequest和Http ...
Image 元素:Object       |------DependencyObject              | -----UIElement |--------FrameworkElement |---------Image 常见用法:<Image Source="Assets/Logo.png"
  ContextAttribute与ContextBoundObject应用开发 这两天因开发的需要,需要分析和构建针对ContextAttribute极其ContextBoundContext相关的拦截器的内容,所以今天一上班就开发分析ContextAttribute与ContextBoundContext之间的应用关系,在查看了相关网友的资源后开始了我的分析之路。  首先:我建立了一个ContextAttribute的子类和一个普通的Attribute子类,分别附加在ContextBoundContext子类和普通子类上。代码如下: using System;using  ...
转自http://www.aqee.net/returning-null/ 我总感觉一个方法返回null值有问题。当读了Misko Hevery关于how to think about OO的博客文章后,又让我想起这个问题。 我感觉返回null值是有问题的,它大量的被使用在一个方法有不同的返回类型时。简单的用谷歌搜索一下“returning null”,你就会发现有建议把返回类型做成一个null对象。返回一个Null对象在某些情况下是合适的,但并不适合当你需要向客户端传送两种不同的东西的情形。用Misko重构的一段代码来说明这个问题。他重构的是一段登录代码(我非常喜欢他的过程),这段代 ...
    一篇关于OO的论述,感觉写的很有道理。依照作者的观点静态函数最好不要用,而它应该是它的参数的方法。比如求-3的绝对值,使用Math.abs(int i)静态方法,但是最好是-3.abs(),这样,数据和方法就会耦合在一起,否则,这将是纯粹的,面向过程。而且,某个对象的方法若是和一个输入参数(该参数为一个自定义对象时)耦合很紧密,并且比该方法所在对象还紧密时,应该重构,将该方法放入该参数对象当中。   Everyone seems to think that they are writing OO after all they are using OO languages suc ...
android的EditText,转到某个Activity时,总是因为它而弹出该输入法,那么一般是我们点击了它的输入框后才弹出,所以可以在oncCreate中添加如下代码: this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);       如何使得android listview在刷新之后仍然定位到原来的地方,那就需要知道两个量,一个是你定位到的item的Index,和adapter上的编号一致,一个是从listview到该item的距离,以下是方 ...
Unit Test是门技术,更确切的说是一个很好的工具。基本技术就是使用Composite的设计模式,一个Test接口,一个实现具体测试方法的TestCase类以及一个用来启动或者说管理很多不同TestCase的TestSuite类(suite就是套件,有一个或很多case(用例)组成)。这个设计模式的一个特点就是实现Test的方法的类应该是没有多大顺序上的关系的,也就是可以是离散性的,这也就很符合单元测试的一个测试用例一对setUp和tearDown方法(Per method 的setup和tearDown)。 当然,也有例外的情况,那就是,有些测试的确启动一次的资源就可以了,也就是共享 ...
由于java的回收机制,使得程序员对内存的引用的回收是不可预测的。而这里就可以做做文章了,讲解SoftReference在一方面的应用(对于有些技术,我感觉只学有用的,不学用不到的。这有别于学os原理,比如os原理你最好精通,这样你的编程内功就会很强,具体的招式则到用到时再学习,或者用不到的就没必要去学)。在android编程中,特别是在listview用来显示来自网络的图片等需要异步加载的资源时,往往需要一个优化的机制。第一是异步加载,这个看我的一篇收藏的博客”Android实现ListView异步加载图片”。第二则是既要考虑到手机的内存问题,又要考虑到网络下载的问题,就是当你下载了一张图片, ...
重写listview,通过监听滑动事件,根据滑动时所处的位置,以及滑动的方向,使用view的内置scrollTo或scrollBy函数来移动view到你手势互动的距离(此处为一半),然后当确定消费了给事件后,又回滚到(0,0)点。当然只有在超出了边界时才回滚。而且回滚的过程由TranslateAnimation来控制,这样的好处在代码的解释中。我是基于网络上的listviewpress改了一些(有几处好像是被篡改了,我又按我的理解将它改正过来,运行后没问题)。一下是关键的代码,整个代码见附件中。有不懂的可以问问,大家互相学习。       package com.listview.tes ...
Global site tag (gtag.js) - Google Analytics