XAML前台标记语言(Chapter2代码讲解)

    很不好意思,工作有点忙,博客停了两天。相对于一门语言的学习,理论知识和实践必不可少,大多数时间我们要用,对于代码也是,一边不行可以看两遍,实在不行背下来,其实就我个人而言,学习一门语言会经历阶段有: 一点不懂---->被逼着用,Copy,不管是什么--->哎,他们怎么写出来的代码--->看懂了别人的代码--->再次使用的时候发现,以前遇到过--->再看第三遍,第四遍,第五遍--->噢,原来是这个样子。 其实我们不是天生的天才神童(也有可能是),可是重复大量的工作我们就可以达到天才般的水平,所以 不会正常,多看几遍就可以了,但是千万别懒惰。

  言归正传,先说一下 WPF开发的最佳的开发工具吧,目前本人用的是(Expression Blend 4 & Expression Design 4 & VS2010)当然你也可以选择其他的工具,只要自己看着方便就可以。下面看一下啊 我们之前的代码吧

  首先第一个项目示例:EightBall-包含 app.config,App.xaml,window1.xaml

  app.config 这个大家都很熟悉,从名字就可以得知他是程序 配置文件 , 比如最常用的数据库连接字符串,程序版本,常用的参数啊,都可以写到里面。

<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
</startup>
</configuration>

  这里面就是程序版本参数。

  App.xaml 这个是程序的入口控制,比如你可以修改 首先运行的窗体,现在默认的是Window1.xaml,当然也可以更换其他的启动窗体;当然调用一下System.Threading.Mutex

类似QQ登录后,当再次运行桌面程序时候,就会提示:程序已经在运行等等。

  

1 <Application x:Class="WindowsApplication1.App"
2     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4     StartupUri="Window1.xaml"
5     >
6     <Application.Resources>
7
8     </Application.Resources>
9 </Application>

public partial class App : Application{System.Threading.Mutex CPDPM_Pro;public App(){this.Startup += new StartupEventHandler(App_Startup);}/// <summary>/// 程序只运行一次/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private  void App_Startup(object sender, StartupEventArgs e){bool runing;CPDPM_Pro = new System.Threading.Mutex(true, "Process", out runing);if (!runing){MessageBox.Show("程序已经运行!");                Environment.Exit(0);}//throw new NotImplementedException();}}

  window1.xaml文件就是我们要编辑的窗体了

AnswerGenerator.cs 是我们要调用的类。

  下面分析一下 Window1.xaml文件

  

<Window x:Class="EightBall.Window1"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="Eight Ball Answer" Height="328" Width="412" ><Grid><Grid.RowDefinitions><RowDefinition Height="*" /><RowDefinition Height="Auto" /><RowDefinition Height="*" /></Grid.RowDefinitions><Grid.Background><LinearGradientBrush><LinearGradientBrush.GradientStops><GradientStop Offset="0.00"  Color="Red" /><GradientStop Offset="0.50" Color="Indigo" /><GradientStop Offset="1.00" Color="Violet" /></LinearGradientBrush.GradientStops></LinearGradientBrush></Grid.Background></Grid>
</Window>

  首先<window></window> 这是 WPF Window.xaml的根目录,可以设置窗体属性 Title 标题,可以设置 最大化 最小化 ,尺寸,透明度,背景,与窗体有关的都可以设置

当然也可以在<window></window>标记下写属性比如 <window.width>1024</window.width>

<Window.BackGround>    <ImageBrush><image source/></ImageBrush>   </Window.BackGround>

  其次<window></window> 中的 x:Class="EightBall.Window1" 是识别Window1 的后台路径,只有前台和后台路径一直才可以编译,不然组件无法实现。尤其是在窗体重命名的时候,往往要记得修改此属性,不然无法编译。 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 这两行是WPF文件的命名空间,这个是默认的不做考虑,是XAML文件都是有的。

  往下就是<Grid> <Grid>就相当一个容器,容器里面放着我们所有的控件,和很多乱七八糟的东西 当然<Grid> 也可以嵌套定义的

  下面看一下代码

  <Grid.RowDefinitions><RowDefinition Height="*" /><RowDefinition Height="Auto" /><RowDefinition Height="*" /></Grid.RowDefinitions>

<Grid> 是把这个界面(Grid 界面) <RowDefinition Height="*" />
分成三行 当然行指正定义它的高度 宽度是随着窗体的大小自动防缩的高度设置 为 "*"的 意思是窗体拉大缩小 你会发现 这个行酒吧剩余的空间填满,运行拉边框就会发现。Auto也可以试一试
 <Grid.Background><LinearGradientBrush><LinearGradientBrush.GradientStops><GradientStop Offset="0.00"  Color="Red" /><GradientStop Offset="0.50" Color="Indigo" /><GradientStop Offset="1.00" Color="Violet" /></LinearGradientBrush.GradientStops></LinearGradientBrush></Grid.Background>

这个时候发现有 Grid背景属性,是由线条构成的 渐进色 参数 属性 下面的东西就很简单了 一些文本的文本控件的属性,后台后一个很实用的东西可以看一下 点击按钮后 有一个  this.Cursor = Cursors.Wait; 这就告诉用户当前正在忙碌中,鼠标会变成圈圈的忙碌,等代码处理结束后  this.Cursor = null;这样就可以变回鼠标的形状
而相对 项目中的NonCompiledXaml 不符合基础教程在这里不作考虑

好de到这里,谢谢

转载于:https://www.cnblogs.com/slf007/archive/2012/12/06/2805922.html

WPF第一章(XAML前台标记语言(Chapter02代码讲解))相关推荐

  1. 第一章 程序设计和C语言

    第一章 程序设计和C语言 例1.1 要求在屏幕上输出一下一行信息 例1.2 求两个整数之和 例1.3 求两个整数中的较大者 例1.1 要求在屏幕上输出一下一行信息 This is a C progra ...

  2. 第一章 程序设计与C语言

    C语言作业 第一章 程序设计与C语言1.1 引例编写程序,输出两个整型数中的最大值.C语音是由函数组成的.程序涉及4个函数:main().max().scanf()和printf().其中,main( ...

  3. 【软件体系结构】考点总结 第六章 可扩展标记语言 XJU

    软件体系结构 第六章 可扩展标记语言 前言   本文为XJU本科期间博主根据 <软件体系结构原理.方法与实践>第二版所作的期末考点总结,因为是课堂重点总结,所以有些重要知识点没有涵盖还请见 ...

  4. 第一行代码第一章——你的第一行Android代码

    第一行代码第一章-你的第一行Android代码 知识点目录 1.1 了解全貌--Android王国简介 * 1.1.1 Android系统架构 * 1.1.2 Android已发布的版本 * 1.1. ...

  5. 第一章-宝箱抽奖模块与代码设计(一)

    第一章-宝箱抽奖模块与代码设计(一) 简要 信息 作者 卡卡 博客 http://blog.csdn.net/kakashi8841 邮箱 john.cha@qq.com 本文所属专栏 http:// ...

  6. 数据结构c语言版第一章答案,《c语言数据结构》第一章概论自测题答案

    <<c语言数据结构>第一章概论自测题答案>由会员分享,可在线阅读,更多相关<<c语言数据结构>第一章概论自测题答案(4页珍藏版)>请在人人文库网上搜索. ...

  7. 第三章 可扩展标记语言XML

    XML(可扩展标记语言)的作用: 用于传输和存储数据的,并且对数据有一定的描述性. 没有预定义标签,用户可以自定义标签. XML最好的描述是:XML 是独立于软件和硬件的信息传输工具.即不依赖于任何软 ...

  8. python第一条入门程序_Python语言函数代码的执行流程

    https://www.xin3721.com/eschool/pythonxin3721/ Python语言函数代码的执行流程,为了保证函数的定义先于其首次调用时执行,我们需要知道中语句的执行顺序. ...

  9. 《c primer plus》学习笔记第一章 :初识c语言

    文章目录 初识c语言 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.1 c语言起源 1.2 c语言的特点,应用范围 1.3 使用c语言的七个步骤(编程的基本流程) 1 ...

最新文章

  1. 9999元雷军新宠亮相!机器狗铁蛋,能走能遛能空翻,小米机器人实验室第一款产品...
  2. Apache服务器学习笔记
  3. jquery:使用 SoundManager 2 创建简单的网页音频播放器
  4. C#LeetCode刷题之#697-数组的度( Degree of an Array)
  5. php返回原界面,thinkphp实现登录后返回原界面
  6. Python Map, Filter and Reduce
  7. 【BZOJ4561】[JLoi2016]圆的异或并
  8. USACO Section 2.1 Sorting a Three-Valued Sequence 解题报告
  9. OpenGL超级宝典(第7版)之第七章顶点处理与绘图命令
  10. VSS 2005 配置(含录像)
  11. django建议入门-FYI
  12. 中文.com域名如何申请 什么是.com域名过期
  13. Javascrpt测试
  14. 如何查找qq邮箱的服务器地址
  15. 每周读书#12 - 秘密
  16. excel中单元格的绝对引用和相对引用
  17. 教你刷各大android手机应用市场下载排名
  18. 解决网络丢包问题及故障判断方法
  19. SAP_常用BADI清单
  20. python 国内镜像源 2020最新

热门文章

  1. .NET Core微服务之基于Consul实现服务治理
  2. Istio Pilot源码浅析
  3. 看看是否有人用USB偷插你的电脑
  4. linux下防火墙的管理工具firewall-cmd
  5. Python之字符编码(Day10)
  6. LNMP--Nginx的日志切割
  7. 黄聪:IE6下css大bug:文字神秘消失,鼠标选择了才出现
  8. javascript 字符串
  9. IE5下通过、不会被列表框遮挡的日期控件
  10. VSCode中.py文件找不到路径的解决办法