《WPF程序设计指南》读书笔记——第3章 内容的概念
1.Content属性及字体相关的属性
using System;
using System.Windows;
using System.Windows.Media; namespace LY.DisplaySomeText
{
public class DisplaySomeText:Window
{
Brush brush = new LinearGradientBrush(Colors.Black, Colors.White, new Point(0, 0), new Point(1, 1));
[STAThread]
public static void Main()
{
new Application().Run(new DisplaySomeText());
}
public DisplaySomeText()
{
Title = "Display Some Text";
//Content = "Content can be simple text!";
//Content = System.EventArgs.Empty;
Content = DateTime.Now;
//设置字体系列
FontFamily = new FontFamily("宋体");
FontSize = 48;
FontStyle = FontStyles.Italic;
FontWeight = FontWeights.Bold;
//Background = brush;
Foreground = brush;
//将窗口大小调整为适应内容的大小
SizeToContent = SizeToContent.WidthAndHeight;
//设置边框的画刷
BorderBrush = Brushes.Red;
//设置上下左右边框的宽度
BorderThickness = new Thickness(25, 50, 75, 100);
}
}
}
1)没有Font类,需通过FontFamily(字体系列),FontSize、FontStyle、FontWeight等属性来设置。
using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Input; namespace LY.RecordKeyStrokes
{
public class RecordKeyStrokes:Window
{
[STAThread]
public static void Main()
{
Application app = new Application();
app.Run(new RecordKeyStrokes());
}
public RecordKeyStrokes()
{
Title = "Record Key Strokes";
Content = "";
}
protected override void OnTextInput(TextCompositionEventArgs e)
{
base.OnTextInput(e);
string str = Content as string;
if (e.Text == "\b")
{
if (str.Length > 0)
str = str.Substring(0, str.Length - 1);
}
else
{
str += e.Text;
}
Content = str;
}
}
}
1)Content属性的值发生变化后,屏幕会自动更新。
2.图像的显示——Image类、Shape类
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes; namespace LY.ShowMyFace
{
public class ShowMyFace:Window
{
[STAThread]
public static void Main()
{
new Application().Run(new ShowMyFace());
}
public ShowMyFace()
{
Title = "Show My Face";
Uri uri = new Uri(@"C:\Users\LZ\Desktop\XX.png");
BitmapImage bitmap = new BitmapImage(uri);
Image image = new Image();
image.Source = bitmap;
image.HorizontalAlignment = HorizontalAlignment.Left;
image.VerticalAlignment = VerticalAlignment.Center;
//设置图片的边界
image.Margin = new Thickness(10, 20, 30, 40);
Content = image;
//显示一个椭圆
//Ellipse elips = new Ellipse();
//elips.Fill = Brushes.AliceBlue;
//elips.StrokeThickness = 50;
//Content = elips;
}
}
}
1)通过Image.Source指定一个Image对象的图片实例。
2)常见的几何图形类在System.Windows.Shapes命名空间中。
3)TextBlock对象可以将一段文字以不同的格式拼接在一起。
4)ContentControl类与ContentElement类不同,前者是控件,可以直接显示出来,后者要借助于前者才能显示出来。
《WPF程序设计指南》读书笔记——第3章 内容的概念的更多相关文章
- css权威指南读书笔记-第10章浮动和定位
这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮 ...
- 《Javascript高级程序设计》读书笔记(1-3章)
第一章 JavaScript简介 1.1 JavaScript简史 略 1.2 JavaScript实现 虽然 JavaScript 和 ECMAScript 通常都被人们用来表达相同的含义,但 Ja ...
- JavaScript权威指南读书笔记【第一章】
第一章 JavaScript概述 前端三大技能: HTML: 描述网页内容 CSS: 描述网页样式 JavaScript: 描述网页行为 特点:动态.弱类型.适合面向对象和函数式编程的风格 语法源自J ...
- 《JavaScript高级程序设计》 - 读书笔记 - 第5章 引用类型
5.1 Object 类型 对象是引用类型的实例.引用类型是一种数据结构,用于将数据和功能组织在一起. 新对象是使用new操作符后跟一个构造函数来创建的.构造函数本身就是一个函数,只不过该函数是出于创 ...
- 《JavaScript高级程序设计》 - 读书笔记 - 第4章 变量、作用域和内存问题
4.1 基本类型和引用类型的值 JavaScript变量是松散类型的,它只是保存特定值的一个名字而已. ECMAScript变量包含两种数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据 ...
- 《Linux程序设计》--读书笔记---第十三章进程间通信:管道
管道:进程可以通过它交换更有用的数据. 我们通常是把一个进程的输出通过管道连接到另一个进程的输入: 对shell命令来说,命令的连接是通过管道字符来完成的: cmd1 | cmd2 sh ...
- 《Visual C++ 程序设计》读书笔记 ----第8章 指针和引用
1.&取地址:*取内容. 2.指针变量“++”“--”,并不是指针变量的值加1或减1,而是使指针变量指向下一个或者上一个元素. 3.指针运算符*与&的优先级相同,左结合:++,--,* ...
- 《Linux内核设计与实现》第八周读书笔记——第四章 进程调度
<Linux内核设计与实现>第八周读书笔记——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配 ...
- 《Linux内核设计与分析》第六周读书笔记——第三章
<Linux内核设计与实现>第六周读书笔记——第三章 20135301张忻估算学习时间:共2.5小时读书:2.0代码:0作业:0博客:0.5实际学习时间:共3.0小时读书:2.0代码:0作 ...
随机推荐
- cocos2d-x回收池原理
cocos2d-x源于cocos2d-iphone,为了与Objective-c一致,cocos2d-x也采用了引用计数与自动回收的内存管理机制. 要现实自动内存回收,需继承于cocos2d-x的根类 ...
- jQuery中利用JSONP解决AJAX跨域问题
写在前面 跨域的解决方案有多种,其中最常见的是使用同一服务器下的代理来获取远端数据,再通过ajax进行读取,而在这期间经过了两次请求过程,使得获取数据的效率大大降低,这篇文章蓝飞就为大家介绍一下解决跨 ...
- 第二节:Maven的运行机制
Maven 的运行机制分为两个分别是生命周期和插件 首先我们来说说Maven的生命周期 1.1:生命周期是个个阶段组成的 1.2:Maven的生命周期是相互独立的,他们之间没有交集 1.3:阶段是有顺 ...
- arcgis mdb和gdb编辑区别
arcgis gdb保存时错误会提供行包含错误值:[DJH3],mdb不会,只会提示字段值太小
- Github 的一些基本操作
1.创建一个新的repository: 先在github上创建并写好相关名字,描述.例如这样一个地址: https://github.com/test/test2.git 回到本地目录如hellowo ...
- (重刷)HDU 1874 畅通工程续 + HDU 2544 最短路 最短路水题,dijkstra解法。
floyd解法 今天初看dijkstra,先拿这两题练手,其他变形题还是不是很懂. 模版题,纯练打字... HDU 1874: #include <cstdio> #define MAXN ...
- MAC下查看端口占用并杀死进程
Eclipse在Run on Server时,Tomcat是开启的,但是报错,显示8080.8005和8009端口被占用 终端输入 查看所有开启的端口 sudo lsof -i -P | grep - ...
- Python 基础【第四篇】参数
程序运行避免不了需要一些参数来支持 那么如何让程序接收参数呢?这里先简单的用sys模块的参数 sys.argv[]方法来实现参数获取 1.用法: import sys //导入sys模块后期会详细 ...
- Ubuntu下用SecureCRT连接串口/dev/ttyUSB0权限修复
在普通用户的模式下,用SecureCRT链接串口交换机,开始会提示/dev/ttyUSB0权限不足,无法打开,临时的解决办法是 chmod 0+rw /dev/ttyUSB0 但是这个重启后便没了作用 ...
- Quartz Scheduler(2.2.1) - Usage of JobDataMap
The JobDataMap can be used to hold any amount of (serializable) data objects which you wish to have ...