WPF学习之路初识   WPF 介绍 .NET Framework 4 .NET Framework 3.5 .NET Framework 3.0 Windows Presentation Foundation (WPF) 是下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序. 使用 WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序.示例包括下图中显示的 Contoso Healthcare Sample Application(Contoso Heal…
手动创建应用程序 1.创建Empty Project 2.添加引用 3.添加 ManualApp.cs 并添加下面的代码 [STAThread] public static void Main() { Window win = new Window(); win.Title = "Manually created application"; win.Show(); Application app = new Application(); app.Run(); } [STAThread]…
参考<葵花宝典-WPF自学手册> VS2012 先创建第一个WPF小程序 1.创建WPF程序 2.查看Solution,WPF中xaml文件和cs文件经常成对出现 两个主要的类:APP(WPF主程序) MainWindow(程序主窗口) 3.添加Button和Click事件 MainWindow.xaml <Grid> <Button Content="Hello WPF" Margin="5" Click="Button_C…
窗口的生命周期 WPF中一个Window类代表一个窗口 一个的窗口的生命周期也有好几个阶段: 1.构造器被调用 2.Window.Initialized事件被触发 3.Window.Activated事件被触发 4.Window.Loaded事件被触发 5.Window.ContentRendered事件被触发 6.用户和窗口进行交互(Actived与Deactived状态互相切换) 7.Window.Closing事件被触发 8.Window.Uloaded事件被触发 9.Window.Clo…
 ListBox 提供了一个选项列表,可以固定或者动态绑定 <StackPanel> <GroupBox Margin="> <GroupBox.Header> <TextBlock Text="Select SelectionMode"></TextBlock> </GroupBox.Header> <GroupBox.Content> <StackPanel Margin="…
生命周期 如果Page1成功导航到Page2,首先会触发NavigationService的Navigating事件,标识导航开始.随后创建Page2对象,并且触发NavigationProgress事件.该事件用于提供导航进度信息,每次返回1KB数据就会引发该事件.随后触发Navigated事件,LoadCompleted紧随其后,这时表明页面已经下载完毕.Page1触发UnLoaded事件,宣告其结束.Page2触发Loaded事件,表明其开始. 实例(取自<葵花宝典--WPF自学手册>)…
传统的应用程序中有两类应用程序模式:桌面应用,Web应用.WPF的导航应用程序模糊了这两类应用程序的界限的第三类应用程序 WPF导航表现为两种形式,一是将导航内容寄宿于窗口,二是XAML浏览器应用程序 四个核心要素:Page\HyperLink\NavigationServices\Journal Page WPF中的Page相比Window来说更加的精简,没有提供一个Show或者是Hide的方法,而是通过链接的方式进行页面切换.一般来说Page不设置自身的大小,因为页面的尺寸由包含它的宿主窗体…
在WPF中,命令绑定机制是相比于事件更高级的概念,把应用程序的功能划分为多个任务,任务由多种途径触发. 应用Command Binding使代码更符合MVVM模式(Model-View-ViewModel),类似于MVC模式(Model-View-Control).这两种模式在以后的BLOG中会有详细的介绍.目的都是为了更好的分离前后台逻辑. 一个简单的Button <Button Content="Button" Click="Button_Click" /…
在WPF中引入了XAML语言,主要用于界面设计,业务逻辑则使用C#实现后台代码,将界面设计与业务逻辑分离 XAML是一种声明式语言,类似XML\HTML 示例: <!--Start Tag--> <Button xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Width="300" Height="200"> <!--Property…
一.前言 上次我们学习了了用定时器3进行查询方式来进行溢出判断,今天我们来换一种方式,用中断方式来检测和查询定时器3的溢出. 二.原理与分析 要使用定时器3,我们必须先要配置的是T3CTL,来把定时器3初始化,进行工作模式和频率的选择,要使用中断模式来控制定时器3,我们还要配置中断的控制寄存器,T3IE和总中断EA.T3CTL的配置和上次的一样. 三.程序 #include <ioCC2530.h> #define uint unsigned int #define uchar unsigne…
Wpf学习之路-- Wpf是 .net中一门做winform的技术,和传统的winform的区别在于: 1.         原来的winform就是拖控件,而wpf的控件都死自己拿标记语言(xaml)来写,类似于web中的html. 2.         开发的模式不一样,winform是mvp事件驱动,比如你得单机刷新按钮,界面的数据才会更新.而wpf是mvvm数据驱动,一旦后台的数据发生了改变,前台界面会自己更新.(初学者不用太纠结这个,先学会怎么用吧.) 两者的优缺点是:winform简…
前段时间一直在学习MVC,工作需要,现在需要180度急转弯,搞WPF,MVVM,只能找资料学习了. WPF中有一个消息机制,就是当前台控件绑定的值改变时,会自动通知到指定的事件来改变VM的值,反之亦然. 这个机制实际上是一个接口:INotifyPropertyChanged 凡是要实现这种自动跟随变化的都要实现这个接口,这个接口只有一个成员,是一个事件: public event PropertyChangedEventHandler PropertyChanged; 配合它,要自己写一个方法:…
样式 实例: <Window.Resources> <Style x:Key="BtnStyle"> <Setter Property=" /> <Setter Property=" /> <Setter Property="Button.Background" Value="Beige" /> <Setter Property="Button.Ren…
URL一般由三个部分组成,协议.资源所在主机地址.资源路径 WPF中URL同样有三部分组成:pack.authority(application:| siteoforigin:).路径 资源文件 本地程序集 Uri uri = new Uri("pack://application:,,,/ResourceFile.xaml", UriKind.Absolute); Uri uri = new Uri("pack://application:,,,/Subfolder/Res…
Hyperlink WPF中超链接类型是Hyperlink,除了能在页面之间导航,还能再同一个页面下进行段落导航 实例: <Grid> <FlowDocumentReader> <FlowDocument> <Section LineHeight="> <List> <ListItem> <Paragraph> <Hyperlink NavigateUri="CustomPage.xaml#fir…
WordPad 2.0 上一期实现了一虽然建议但是功能比较全面的Wordpad程序,但是程序代码略显繁琐,这一期更新改进版. MainWindows.xaml 添加 <Window.CommandBindings>节点,响应保存和关闭命令 <Window.CommandBindings> <CommandBinding Command="Close" Executed="CloseCommand" /> <CommandBi…
写字板实例一 MainWindow.xaml <Window x:Class="Wordpad01.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="> <Grid> <Grid.…
路由事件概述 功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件. 实现定义:路由事件是一个 CLR 事件,可以由RouteEvent 类的实例提供支持并由 Windows Presentation Foundation (WPF) 事件系统来处理. 实例: Xaml <Border Height="> <StackPanel Background="LightGray" Orientation="…
类型是DependencyProperty的属性是依赖属性 依赖属性不同于普通的.Net属性,类似于一个计算过程,根据依赖的值得到最终值. 为什么引入依赖属性: MSDN原文 One of the primary architectural philosophies used in building WPF was a preference for properties over methods or events. WPF的设计思想是侧重属性胜于方法和事件. 实例 依赖属性对资源引用的支持 设…
属性 简单属性 前面用到的Width/Height都是简单属性,其赋值一定要放到双引号里 XAML解析器会根据属性的类型执行隐式转换 与C#的区别 SolidBrush.Color = Colors.AliceBlue; <Button Color = "AliceBlue" /> C#中有的枚举类型可以用(|)运算符组合,在XAML中用(,)分隔 附加属性 附加属性可以用于多个控件,但是在另外一个类中定义的属性,在WPF中常常用于布局 如DockPanel.Dock=&q…
编译的内核可能会很大,故这里可以压缩一下.而在内核文件中需要解压,所以就会有一段自解压代码. 在uboot启动内核的时候,调用了函数: thekernel(0,MACH_ID,params_addr ) 0 存放在r0寄存器 MACH_ID 存放在r1 params_addr存放在r2 1. 首先处理uboot传入的参数. 获取处理器id,查看内核是否支持这个处理器CPU. 获取uboot传入的机器ID,查看内核是否支持所运行该系统的单板. 建立一级页表,使能mmu. 跳转到start_kern…
1:什么是异常?  中断了正常指令流的事件. 异常是一个对象 ,在出现异常时,虚拟机会生成一个异常对象 生成对象的类是由 JDK 提供的…
再正式开始之前,先来介绍一下IOS的键盘类型: 一.键盘风格 UIKit框架支持8种风格键盘 typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, // 支持ASCII的默认键盘 UIKeyboardTypeNumbersAndPunctuation, // 标准电话键盘,支持+*#等符号 UIKeyboardTypeURL, // URL键盘,有.com按钮:只支持URL字符 UIKey…
程序设计基础 程序设计方法与风格 1.程序设计方法 程序设计: 指设计.编制.调试程序的方法和过程. 程序设计方法是研究问题求解如何进行系统构造的软件方法学.常用的程序设计方法有:结构化程序设计方法.软件工程方法和面向对象方法. 2.程序设计风格 程序设计风格:指编写程序时所表现出的特点.习惯和逻辑思路. 良好的程序设计风格可以使程序结构清晰合理,程序代码便于维护.因此,程序设计风格深深地影响着软件的质量和维护.以下例举的是一些良好的程序设计风格,也是程序设计时应遵循的规范. (1)源程序文档化…
1.程序的分支结构 1.1 单分支 if <条件>:                       例:guess = eval(input()) <语句块>                     if guess == 99: print(“猜对了”) 1.2二分支 if<条件>: <语句块1> else: <语句块2> 1.3紧凑形式: 适用于简单表达式的二分支结构 <表达式1> if <条件> else <表达…
程序使用的测试文本数据: Dear River Dear River Bear Spark Car Dear Car Bear Car Dear Car River Car Spark Spark Dear Spark 1编写主要类 (1)Maper类 首先是自定义的Maper类代码 public class WordCountMap extends Mapper<LongWritable, Text, Text, IntWritable> { public void map(LongWrit…
ProgressBar 进度条,主要属性:Minimum\Maximun\Value, IsIndeterminate为True时,进度条会循环运转 <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <StackPanel Grid.Row=" VerticalAlignment="Center&…
GroupBox 用来组织多种控件的常见控件,因为是内容空间,只能直接包含一项,需要使用面板一类的中间空间. Header和Content可以是任意元素 <GroupBox> <GroupBox.Header> <WrapPanel Margin="> <Image Source=".\Image\icon.png"></Image> <TextBlock Text=" /> </Wrap…
Label Label相比TextBlock功能并不强大,但是支持键盘快捷键的方式获得焦点 <StackPanel> <Label Target="{Binding ElementName=txtA}">Choose _A</Label> <TextBox Name="txtA"></TextBox> <Label Target="{Binding ElementName=txtB}&quo…
布局实际上是一个Slot模型,其中每个父对象分配给子对象一个Slot,子对象可以自由占用Slot中的空间,通过Margin\VerticalAlignment\HorizontalAlignment控制 实例 <Border Background="> <StackPanel Name="SP1" Background="White"> <TextBlock FontSize=" HorizontalAlignmen…