WPF开发入门尝试

  01. 创建软件雏形

创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目成都做网站、网站设计、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元名山做网站,已为上家服务,为名山各地企业和个人服务,联系电话:13518219792

  这个雏形包括4个项目(Project):

  一个主程序(WPF Application)项目,命名为:DataTracer

  一个组件库(WPF User Control Library)项目,命名为:K3UcLib

  一个控件库(WPF Custom Control Library)项目,命名为:K3CcLib

  一个算法库(Class Library)项目,命名为:K3Helper

  作为入门,这看起来有点复杂,不过实现起来还算简单。

  菜单:File >New >Project…

  菜单:File >Add >New Project…

  THINKING:

  通常,复杂是由简单构成的,只要我们合理的分解它;

  复杂的设计,并不意味着复杂的实现;同样,简单的设计,也不意味着简单的实现;

  不过,没有准备迎接复杂挑战的简单设计,却通常是小小噩梦的开始。

  F5 运行,看看结果!

  02. 制作一个组件

  我习惯将User Control称为组件,将Custom Control称为控件。

  他们的区分,简单说:User Control通常通过组合多个控件产生,Custom Control通常通过扩展单个控件产生。

  现在,我们先制作一个准备用来替换现有窗口标题的组件,命名为:K3WindowHeader。

  Project Add User Control,然后修改XAML,并编译(Shift F6)

 
 
 
  1.    
  2.    
  3.    
  4.    
  5.    
  6.    

  这个组件包括两个控件Button,TextBlock。

  CornerRadius用于设定Border四个角的弧度

  = ”LeftTop, RightTop, RightBottom, LeftBottom”

  DockPanel.LastChildFill,很有用的属性。

  注意DockPanel所包含组件的顺序,并在组件中正确的使用DockPanel.Dock属性。

  在DataTracer中使用这个组件。

  Project Add References,添加K3UcLib,然后修改MainWindow.XAML:

 
 
 
  1.   
  2. xmlns:K3UcLib="clr-namespace:K3UcLib;assembly=K3UcLib" 
  3. WindowStyle="None" 
  4. >  xmlns:K3UcLib="clr-namespace:K3UcLib;assembly=K3UcLib" 
  5.   WindowStyle="None" 
  6.   >  xmlns:K3UcLib="clr-namespace:K3UcLib;assembly=K3UcLib" 
  7.   WindowStyle="None" 
  8.   > 
  9.    
  10.    
  11.    
  12.    
  13.    
  14.    
  15.    
  16.    

  将WindowStyle设为None,将窗口标题隐掉,从而为DIY新的窗口标题做好准备。

  Height, Width可取值包括:

  Auto(自适应),*(全部剩余),NaN(相当于Auto),数值

  F5 运行,看看结果!

  这个窗口怎么关掉?Alt + F4!

  这个窗口好丑!别着急,如果你真的很急,可以先试着使用 Margin属性及xxxAlignment属性,调整一下位置(试一试我的调整,如下)。

 
 
 
  1.    
  2.    
  3.    
  4.   
  5.    
  6.    

  F5 运行,看看结果!

  

  03. 添加事件,关闭窗口

  需求:当用户点击“关闭”按钮时,关闭主窗口。

  实现:为“关闭”按钮添加Click事件处理。有两种实现方式:

  (1) 通过XAML文件中实现: