F#写WPF程序,`.net7.0-windows`
摘要:F#没有WPF模板,实现.net7.0-windows需要手工实现,本文就是讲解如何新建一个F#WPF程序。 新建控制台应用程序。非(.net framework) 修改项目属性,项目文件(*.fsproj)代码如下: <Project Sdk="Microsoft.NET.Sdk"> <Prope
阅读全文
`MahApps.Metro` Quick Start
摘要:MahApps.Metro Quick Start This guide will introduce you to how MahApps.Metro works and how to incorporate it into your app. 原则:xaml不要调用后台代码,后台代码调用xaml
阅读全文
Create a new F# WPF Code Behind Application
摘要:Create F# WPF Code Behind Application Create an F# console application (.NET Framework). Change the Output type of the application to Windows Applicat
阅读全文
6 WPF控件
摘要:6 WPF控件 WPF控件分类: 内容控件 标题内容控件 文本控件 列表控件 基于范围的控件 日期控件 控件类 控件是与用户交互的元素。控件可以获得焦点,能接受键盘或鼠标的输入。 所有控件的基类是System.Windows.Control类,这类包括一些基本功能: 对齐 tab序列 背景、前景、边
阅读全文
22 WPF列表,树,网格
摘要:22 WPF列表,树,网格 ListView ListView从ListBox派生,只增加了View属性。如果你没有设置View属性,ListView行为正如ListBox。 从技术上,View属性指向任何ViewBase派生类的一个实例。ViewBase类是简单的;事实上,它是两个样式。一样式应用
阅读全文
21 WPF数据视图
摘要:21 WPF数据视图 视图对象 当你绑定集合到ItemsControl,在幕后数据视图被安静地创造。视图位于数据源和绑定控件之间。数据视图是通往数据源的一个窗口。它跟踪当前项目,它支持诸如排序,过滤,和分组特征。这些特征独立于数据对象本身,意味着你能以不同的方式、在窗口的不同部分(或应用的不同部分)
阅读全文
20 WPF格式化绑定数据
摘要:20 WPF格式化绑定数据 数据绑定回顾 见601页。 数据转换 使用StringFormat属性 StringFormat属性适用于显示数字为文本。 使用Binding对象的StringFormat属性,可以将绑定对象的属性转化为指定格式的文本: <TextBox Margin="5" Grid.
阅读全文
17 WPF控件模板
摘要:17 WPF控件模板 理解逻辑树和可视树 逻辑树:你添加的元素的杂烩称为逻辑树。通过逻辑树实现的功能包括:属性值继承、事件路由、样式。 可视树是逻辑树的展开版。元素被分解为更小的单位。例如,一个按钮在逻辑树是最小单位,是一个黑盒子。但是在可视树中,按钮是一个组件。ButtonChrome、Conte
阅读全文
11 WPF样式和行为
摘要:11 WPF样式和行为 先创建一套样式描述细节,然后仅靠设置Style属性应用样式。 行为封装一些基本的UI功能,然后用一两行标记附加到元素上,实现功能。 样式基础 样式是一种重要的资源。 样式是属性值的集合,能被应用到一个元素。就像CSS,WPF样式允许你定义格式化特性并且遍及应用程序地应用它们去
阅读全文
10 WPF资源
摘要:10 WPF资源 资源是保持有用对象在附近的一种方法。诸如:刷子,样式,或模板对象。因此,你能更容易地重用他们。 尽管能用代码创造和操纵资源,通常用XAML标记。一个资源被定义以后,你能使用它,在窗口中,标记的剩余部分(或,在一个应用资源的情况下,遍及你的应用的剩余部分)。这技术简化你的标记,节省重
阅读全文
5 WPF路由事件
摘要:路由事件能沿着元素树隧道向下或冒泡向上旅游,并且被沿路的事件处理器处理。路由事件能在一个元素上被处理(诸如一个标签)即使它由另一个元素发起(诸如该标签内部的一个图像)。正如依赖属性,路由事件能用传统的方法消费—用正确签名连接一个事件处理器—但是你需要理解他们如何工作,以了解它们的所有特征。 理解路由
阅读全文
4 WPF依赖属性
摘要:理解依赖属性 依赖属性支持的特征包括:动画、数据绑定、样式。由WPF元素暴露的属性大部分都是依赖属性。依赖属性和常规属性的使用方法相同。 WPF设计了依赖属性支持其特有的动态特性,并且不干扰其他系统的.net代码。 定义依赖属性 创造一个依赖属性的语法完全不同于创造一个普通的.NET属性。 第一步是
阅读全文
1 WPF架构
摘要:WPF使用一个多层次的架构。在顶部,你的应用与高层的服务相互作用,这些服务完全以托管的C#代码书写。在幕后,使用一个低层的非托管组件milcore.dll翻译.NET对象到Direct3D纹理和三角形。milcore.dll使用非托管代码实现,因为它需要紧密地整合Direct3D,还因为它对性能极端
阅读全文
3 WPF布局
摘要:理解WPF布局 WPF采用了流布局。流布局允许控件变大,并且能挤开其他控件。 WPF布局哲学 在WPF中,容器决定了布局。尽管有几种容器,WPF窗口遵守几个关键的原则: 元素(诸如控件)不应显式设置尺寸 元素不指明定位坐标 布局容器在子元素之间共享可用空间 布局容器能被嵌套 布局过程 WPF布局分二
阅读全文
2 XAML
摘要:XAML 基础 一旦你理解一些基本法则,XAML标准是十分直白的: 在XAML文档中,每个元素都映射到.NET类的一个实例。元素的名字恰好匹配类的名字。例如,元素<Button就是一个Button对象。 就像任何XML文档,你能在一元素内部嵌套另一个元素。如你所见,XAML使每个类可以灵活地处理这种
阅读全文
8 WPF元素绑定
摘要:8 WPF元素绑定 数据绑定是一个关系,告诉WPF从一个来源对象抽取一些信息,并且使用数据绑定设置一个目标对象中的属性。目标属性总是一个依赖属性,并且它通常是WPF元素—毕竟,WPF数据绑定的终极目标是在用户界面上显示一些信息。但是,源对象能是任何事物,范围从另一个WPF元素到一个ADO.NET数据
阅读全文
19 WPF 数据绑定
摘要:19 WPF 数据绑定 WPF数据绑定允许你创造从几乎任何对象的任何属性获取信息以及填充到几乎任何元素的任何属性里的绑定。 使用自定义对象绑定到数据库 建立数据访问组件 数据绑定是将数据对象绑定到界面元素,首先建立访问数据库的代码。在项目中添加一个用于访问数据数据库的类,下面是该类的结构: publ
阅读全文