zoukankan      html  css  js  c++  java
  • WPF

    摘要: MVVM主要是为了逻辑代码和视图的分离,使CodeBehind只包含对UI的操作。通过绑定和Command来实现 下面我们实现一个最简单的示例,点击按钮使年龄加1. XAML代码 <Window x:Class="DeepXAML.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:...阅读全文
    posted @ 2011-03-01 12:33 王德水 阅读(277) | 评论 (2) 编辑
    摘要: 之前有过Silverlight使用经验,最近学习了一下WPF,在学习的过程中以博客的方式记了笔记,本笔记尽量去掉已经明白的东西,所以就叫做无废话系列,希望对想开始学WPF的人有用。 无废话WPF系列1:XAML分析 无废话WPF系列2: InitializeComponent方法定义哪里 无废话WPF系列3: XAML中为对象属性赋值 无废话WPF系列4: x名称空间 无废话WPF系列5:控件派生...阅读全文
    posted @ 2011-02-27 11:27 王德水 阅读(1195) | 评论 (4) 编辑
    摘要: 控件模版ControlTemplate就是设置控件的外观,比如我们常见到的按钮是下面这样的,但是我们如何改变成圆形的呢? <Window x:Class="DeepXAML.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft....阅读全文
    posted @ 2011-02-27 11:15 王德水 阅读(91) | 评论 (0) 编辑
    摘要: WPF模版主要分为俩大类: ControlTemplate: 控件的外观,也就是控件是什么样子 DataTemplate: 是数据内容的表现,一条数据显示成什么样子 1. 数据模版常用的地方有以下几处: ContentControl的ContentTemplate属性。 ItemsControl的ItemTemplate属性。 GridViewColumn的CellTemplate属性。 2. 示...阅读全文
    posted @ 2011-02-27 11:14 王德水 阅读(94) | 评论 (0) 编辑
    摘要: 在WPF中资源通常用作“样式”(Style)、样式模板、数据模板等。 一、资源的定义及使用 1. 应用程序级资源: 定义在App.xaml文件中,作为整个应用程序共享的资源 <Application x:Class="DeepXAML.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="ht...阅读全文
    posted @ 2011-02-27 11:13 王德水 阅读(97) | 评论 (0) 编辑
    摘要: 样式很好理解,就像CSS里的一样,无需多加解释 1. 样式中的Setter 使用示例: <Window x:Class="DeepXAML.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xam...阅读全文
    posted @ 2011-02-27 11:12 王德水 阅读(103) | 评论 (0) 编辑
    摘要: 逻辑树 <Window> <Grid> <Button> <StackPanel> <Image/> <TextBlock/> </StackPanel> </Button> </Grid></Window>但是实际上这些元素在运行时会扩展为可是树事件路由 对逻辑树和可视树有所了解很有必要,因为路由事件主要是根据可视树进行路由。路由事件支持三种路由策略:气泡、隧道和直接。 气泡事件最为常见,它表示...阅读全文
    posted @ 2011-02-27 11:10 王德水 阅读(102) | 评论 (0) 编辑
    摘要: 一、依赖属性 依赖属性就是自己自己没有值,通过Binding从数据源获得值,就是依赖在别人身上,拥有依赖属性的对象称为依赖对象。 几种应用依赖属性的场景: 1. 希望可在样式中设置属性。 2. 希望属性支持数据绑定。 3. 希望可使用动态资源引用设置属性。 4. 希望从元素树中的父元素自动继承属性值。 5. 希望属性可进行动画处理。 6. 希望属性系统在属性系统、环境或用户执行的操作或者读取并使用...阅读全文
    posted @ 2011-02-27 11:09 王德水 阅读(120) | 评论 (0) 编辑
    摘要: 有时我们展现的数据,需要进行转换,比如如果一个学生的成绩过了60,我们显示一个Pass的图片。 XAML:  后台代码: 运行结果阅读全文
    posted @ 2011-02-19 20:15 王德水 阅读(120) | 评论 (0) 编辑
    摘要: 设置Binding的ValidationRules属性对Binding进行检验  后台代码  同样,我们在XAML里也可以设置验证 后台代码:阅读全文
    posted @ 2011-02-19 19:45 王德水 阅读(240) | 评论 (0) 编辑
    摘要: 1. 绑定到其它元素 2. 绑定到静态资源4. 绑定到指定类型的父元素5. 绑定到对象 6. 绑定到集合7. DataContext共享源我们需要将同一资源绑定到多个 UI 元素上,很显然到处写 "{Binding Source={StaticResource person}}" 是件很繁琐且不利于修改的做法。WPF 提供了一个称之为 "数据上下文 (DataContext)" 的东西让我们可以在多个元素上共享一个源对象,只需将其放到父元素 DataContext 属性即可。当我们不给 Binding 扩展标志指定 Source 属性时,它会自动寻找上级父元素的数据上下文。8. 使用XML作阅读全文
    posted @ 2011-02-19 16:45 王德水 阅读(259) | 评论 (1) 编辑
    摘要: 绑定,就是把一个对象属性的值绑定在别的对象的属性上 1. 默认绑定 public class Company {     public string Name { get; set; } }   XAML代码 后端代码: 我们把第一个文本框的值改为IBM,并点击按钮  这个结果说明,我们绑定到一个普通的UI上时,前端的(绑定的目标)改变会时...阅读全文
    posted @ 2011-02-19 16:42 王德水 阅读(178) | 评论 (0) 编辑
    摘要: 一、 Grid a. 单元格的宽度可以设置三类值 绝对值:double数值加单位后缀 比例值:double数值加一个星号* 自动值: auto,高度将有内部的控件的高度和宽度决定。 b. Grid可接受的宽度和高度的单位 1in=96px 1cm=(96/2.54)px 1pt=(96/72) px c. 示例 如果没有设置height,实际上这个height默认被设置为1*, 这里说一下星号(*),解析器会把左右比例值加起来作为分母,把每个比例值做为分子,乘以未被占用的像素数,这样就算出每一个具体的值。我们假设总高为200,那么上面的2*=(2/(2+1+1))*(200-阅读全文
    posted @ 2011-02-19 16:40 王德水 阅读(201) | 评论 (1) 编辑
    摘要: 1. ContentControl族 他们都继承ContentControl,都是控件,内容属性的名称为Content,只能由单一元素充当起内容 包含的控件有: ButtonBase RepeatButton CheckBox ComboBoxItem Button ContentControl Lable Frame ToggeButton GridViewColumnHeader GroupItem ListBoxItem RadioButton ListViewItem NavigationWindow ScrollViewer StatusBarItem ToolTip UserCo阅读全文
    posted @ 2011-02-19 16:39 王德水 阅读(161) | 评论 (0) 编辑
    摘要: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 这个命名空间存放的就是XAML和XAML编译器沟通的东西,比如编译时与那个C#代码合并等 一、 在XAML中出现的方式有三种 1.标签扩展: x:Array, x:Null, x:Static, x:Type 2. XAML指令元素: x:Code, x:XData 3. Attribute: x:Class, x:ClassModifier, x:FieldModifier, x:Key, x:Name, x: Shared, X:Subclass, x:TypeArgum阅读全文
    posted @ 2011-02-19 16:37 王德水 阅读(161) | 评论 (0) 编辑
    摘要: 1. WPF类控件的派生关系图,紫色的部分开始才算是进入WPF的框架里。 2. WPF控件图 WPF的UI控件主要有以下类型,ContentControl, HeaderedContentControl, ItemsControl, HeaderedItemsControl, Panel, Adorner(文字点缀元素), Flow Text(流式文本元素), TextBox, TextBlock, Shape.阅读全文
    posted @ 2011-02-19 16:37 王德水 阅读(150) | 评论 (0) 编辑
    摘要: 1. 使用标签的Attribute为对象属性赋值 我们可以按上面的方式用字符串来赋值,但是比如上面的Fill其实Shape.Fill类型,那为什么我么可以赋Red呢?因为WPF使用TypeConverter进行了转换. 2. 使用TypeConverter类将XAML的Attribute与对象的Property进行转换 3. 标记扩展(Markup Extensions) 标记扩展是一种特殊的Attribute=value语法,Value是由一对花括号及其括起来的内容组成,XAML编译器会对这样的内容做出解析,生成相应的对象。标记扩展是可以嵌套,有一些简写,比如{Binding Value,&阅读全文
    posted @ 2011-02-19 16:36 王德水 阅读(207) | 评论 (1) 编辑
    摘要: 新建一个程序,我们来分析一下这段最简单的XAML 这个命名空间http://schemas.microsoft.com/winfx/2006/xaml/presentation是WPF的硬编码,告诉编译器自动引入如下命名空间而且作为默认命名空间,这个是绘制UI相关的程序集 这里还有一个x命名空间xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml",这个命名空间是对应XAML解析功能的,也就是和XAML编译器交流用的,比如x:Class="DeepXAML.MainWindow"就是告诉编译器将包含它的标签解析成类时,和那个类一起合并。X阅读全文
    posted @ 2011-02-19 16:34 王德水 阅读(301) | 评论 (0) 编辑
    摘要: 后代代码: 我们定位到那个方法转到定义,发现没反应。 实际上这个方法是编译时WPF会为我自动生成,编译后在下面红色标注的地方打开MainWindow.g.cs,在这个文件可以找到这个方法的定义。阅读全文
    posted @ 2011-02-19 16:34 王德水 阅读(177) | 评论 (0) 编辑
    摘要: 当您将自己的产品限制为只能通过一种语言使用时,您便将潜在的客户群限制为全球 65 亿人口中的一小部分。如果您想让自己的应用程序被全球用户所接受,那么对产品进行经济而有效的本地化将是赢得更多客户的最好、最经济的方法 本文源码下载:https://files.cnblogs.com/cnblogsfans/WPFLocalize.rar 1.新建WPF Application 2.定义界面如下 ...阅读全文
    posted @ 2008-04-12 16:15 王德水 阅读(2395) | 评论 (6) 编辑
  • 相关阅读:
    五大主流浏览器 CSS3 和 HTML5 兼容性大比拼
    httpservice 公共类
    Eclipse自动生成注释
    天生一对"Maven2+Jetty" Maven2创建并管理WebApp,并使用Maven Jetty Plugin在Eclipse中调试
    jsp checkbox不错的应用
    我们需要改变
    Sortable Table 可排序表格JS收集
    Eclipse快捷键大全()
    Ajax简单应用
    css 固定table表头
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2013154.html
Copyright © 2011-2022 走看看