精华内容
下载资源
问答
  • WPF经典开发教程+WPF项目例子,对新手有一定的帮助,一些经典的语法和例子
  • 15个WPF项目开发经典例子,例子完整准确,能够运行。 WPF 倒计时+震动 示例_8416821 WPF_嵌入字体_EmbeddedFont_8408883 WPF3D切换例子_TimeZoneDaemonApp(3D)_8408869 WPF不规则按钮_8416707 WPF窗体缩放源码_...
  • 课程从实际应用出发,全程代码实战,涉及内容包括控件、依赖属性、事件、样式、模板、触发器、动画等等。项目整体以MVVM思想模式设计...通过此课程可以让大家对WPF开发有更深入的了解与认识,熟练应对WPF常规应用开发
  • WPF开发教程

    2018-04-28 09:09:07
    WPF是微软新一代图形... WPF相对于Windows客户端的开发来说,向前跨出了巨大的一步,它提供了超丰富的.NET UI 框架,集成了矢量图形,丰富的流动文字支持(flow text support),3D视觉效果和强大无比的控件模型框架。
  • 说中的入门者必读,既然是入门者,当然我选择了《深入浅出WPF》这本书...WPF是微软未来的发展趋势,自WIN7以来包括前不久发布的WIN8,核心还是WPF,在此,将自己的学习成果做一个总结,同时将自己学习积累的东西和...

    说中的入门者必读,既然是入门者,当然我选择了《深入浅出WPF》这本书...

    WPF是微软未来的发展趋势,自WIN7以来包括前不久发布的WIN8,核心还是WPF,在此,将自己的学习成果做一个总结,同时将自己学习积累的东西和广大博友分享,希望大家能共同进步。在文章的结尾我会将全系列的源代码地址提供给大家,有需要的朋友可以下载下来自己研究研究。

    什么是WPF?为什么要学习WPF?

    WPF 是Windows Presentation Foundation的简称,顾名思义是专门用来写程序表示层的技术和工具。

    为什么要学习WPF?

    许多朋友也许会问:既然表示层技术那么多,为什么还要推出WPF作为表示层技术呢?我们话精力学习WPF有什么收益和好处呢,这个问题我们从两个方面进行回答。

    首先,只要开发表示层程序就不可避免的要和4种功能性代码打交道,他们分别是:

    数据模型:现实世界中事物和逻辑的抽象。

    业务逻辑:据模型之间的关系和交互。

    用户界面:由控件构成,于用户进行交互的界面,用于把数据展示给用户并响应用户输入。

    界面逻辑,控件与控制之间的的关系和交互。

    WPF的功能?

    WPF的功能是用来编写应用程序的表示层,至于业务逻辑层和数据层也有专门的新技术,比如业务逻辑层的新技术WCF(Windows Communication Foundation)和WF(Windows Workflow Foundation)。微软用于表示层开发的技术不算少,包括WPF,Windows Forms,ASP.NET,Silveright等。换句话说,无论使用哪种技术做为表示层技术,程序的逻辑层和数据层都是相同的。

    WPF和Silveright的关系

    目前,.NET开发人员学习WPF回报是非常高的,原因是在微软整个新一代开发框架都能看到它的影子,微软新一代开发技术框架包括Windows Presentation Foundation(WPF),Windows Communication Foundation(WCF),Windows Workflow Foundation(WF),在后续的文章中我们会专注于将WPF,而WCF的用途是编写分布式应用程序的业务逻辑层,并以网络服务的形式暴露给客户端的服务消费者,基于WCF和Entity Framework的WCF Data Service和WCF RIA Service是微软迄今最佳的数据访问层,而这一数据的最佳消费者就是WPF和Silveright,所以学习WPF技术会给WCF的学习锦上添花。WF的主要作用是设计工作流,而设计工作流的编程语言正是WPF中界面编程语言----XMAL,学习完WPF,WF也就会了一小半。

    如果说学习完WPF完成以后就学会了一小半的WF,那么学习完WPF以后,Silveright也就学会了80%,为什么这么说呢?因为微软原本定义Silveright是WPF的子集,是WPF的"网络版"(Silveright的开发代号为WPF/E,意为WPF简化版)。为了让WPF的浏览器跑出来,微软所做的事情就是在技术原理不变的情况下对WPF进行瘦身------去掉一些不常用的功能,简化一些功能的实现,对多组实现同一目的类库进行删减,只保留一组,在添加一些网络通信功能,通过以下这张表,可以看到Silveright和WPF的技术重叠率之高:

    7ceaad21cb01258936a1cea97ada0374.png

    如今Silveright炙手可热的另一个原因是微软上一代手机平台Windows Phone 7也采用它来作为开发平台(此前的Windows Mobile使用的简化版的Windows Form作为开发平台)。WIndows Phone7中运行Silveright与浏览器中运行Silveright别无二致,因此学习完WPF之后,手机平台上的程序也会写了。当然,Window Phone8将继续支持这项技术。

    深入浅出WPF 目录:

    序言

    1. 什么是WPF

    2. 为什么要学习WPF

    第一章 XAML概览

    1. XAML是什么?

    2. XAML有哪些优点

    第二章 从零起步认识XAML

    1. 新建WPF项目

    2. 剖析最简单的XAML代码

    第三章 系统学习XAML语法

    1. XAML文档的树形结构

    2. XAML中为对象属性赋值的语法

    2.1 使用标签的Attribute为对象属性赋值

    2.2 使用TypeConverter

    2.3 属性元素

    2.4 标记扩展(Markup Extensions)

    3. 事件处理器与代码后置

    4. 导入程序集和引用其中的名称空间

    5. XAML的注释

    第四章 x名称空间详解

    1. x名称空间里都有什么

    2. x名称空间中的Attribute

    2.1 x:Class

    2.2 x: ClassModifier

    2.3 x: Name

    2.4 x:FieldModifier

    2.5 x:Key

    2.6 x:Shared

    3. x名称空间中的标记扩展

    3.1 x:Type

    3.2 x:Null

    3.3 标记扩展实例的两种声明语法

    3.4 x:Array

    3.5 x:Static

    4. XAML指令元素

    第五章 控件与布局

    1. 控件到底是什么

    2. WPF的内容模型

    2.1 内容与内容属性

    3. 各类内容模型详解

    3.1 ContentControl族

    3.2 HeaderedContentControl族

    3.3 ItemsControl族

    3.4 HeaderedItemsControl族

    3.5 Decorator族

    3.6 TextBlock和TextBox

    3.7 Shape族元素

    3.8 Panel族元素

    4. UI布局(Layout)

    4.1 布局元素

    4.2 Grid

    4.3 StackPanel

    4.4 Canvas

    4.5 DockPanel

    4.6 WrapPanel

    第六章 深入浅出话Binding

    1. Data Binding在WPF中的地位

    2. Binding基础

    3. Binding的源与路径

    3.1 把控件作为Binding源与Binding标记扩展

    3.2 控制Binding的方向及数据更新

    3.3 Binding的路径(Path)

    3.4 “没有Path”的Binding

    3.5 为Binding指定源(Source)的几种方法

    3.6 省略Source的Binding

    3.7 使用集合对象作数据源

    3.8 使用使用ADO.NET对象作为Binding的源

    3.9 使用使用XML数据作为Binding的源

    3.10 使用使用LINQ检索结果作为数据源

    3.11 使用ObjectDataProvider

    3.12 使用Binding的RelativeSource

    4. Binding对数据的转换与校验

    4.1 Binding的数据校验

    4.2 Binding的数据转换

    5. MultiBinding(多路Binding)

    第七章 深入浅话属性

    1. 属性(Property)的来龙去脉

    2. 依赖属性(Dependency Property)

    2.1 依赖属性对内存的使用方式

    2.2 声明和使用依赖属性

    2.3 依赖属性值存取的秘密

    3. 附加属性(Attached Properties)

    第八章 深入浅出话事件

    1. 近观WPF的树形结构

    2. 事件的来龙去脉

    3. 深入浅出路由事件

    3.1 使用WPF内置路由事件

    3.2 自定义路由事件

    3.3 Source与OriginalSource

    3.4 事件也附加——深入浅出附加事件

    第九章 深入浅出话命令

    1. 命令系统的基本元素与关系

    1.1 命令系统的基本元素

    1.2 基本元素之间的关系

    1.3 小试命令

    1.4 WPF的命令库

    1.5 命令参数

    1.6 命令与Binding的结合

    2. 近观命令

    2.1 ICommand接口与RoutedCommand

    2.2 自定义Command

    第十章 深入浅出话资源

    1. WPF对象级资源的定义与查找

    2. 且“静”且“动”用资源

    3. 向程序添加二进制资源

    4. 使用Pack URI路径访问二进制资源

    第十一章 深入浅出话模板

    1. 模板的内涵

    2. 数据的外衣DataTemplate

    3. 控件的外衣ControlTemplate

    3.1 庖丁解牛看控件

    3.2 ItemsControl的PanelTemplate

    4. DataTemplate与ControlTemplate的关系与应用

    4.1 DataTemplate与ControlTemplate的关系

    4.2 DataTemplate与ControlTemplate的应用

    4.3 寻找失落的控件

    5. 深入浅出话Style

    5.1 Style中的Setter

    5.2 Style中的Trigger

    第十二章 绘图和动画

    1. WPF绘图

    1.1 绘制图形

    2. 图形的效果与滤镜

    2.1 简单易用的BitmapEffect

    2.2 丰富多彩的Effect

    3. 图形的变形

    3.1 呈现变形

    3.2 布局变形

    4. 动画

    4.1 简单独立动画

    4.2 场景

    4.3 综合实例资源

    展开全文
  • WPF开发简介教程

    2016-11-26 22:26:39
    1/ VS中文件-新建-项目-WPF应用程序 2/ 左上角工具箱中有很多组件可以直接拖拽使用 3/ 双击组件,进入脚本功能编辑界面,如按钮:private void Button_Click_1(object sender,EventArgs e) { MessageBox.Show(...
    1/ VS中文件-新建-项目-WPF应用程序
    2/ 左上角工具箱中有很多组件可以直接拖拽使用

    3/ 双击组件,进入脚本功能编辑界面,如按钮:

    private void Button_Click_1(object sender,EventArgs e)
    {
       MessageBox.Show("Wonderful!");
    }
    
    


    
    

    4/ ctrl+F5 编译运行5/ 总代码:

    <Window x:Class="鳄鱼啊鳄鱼.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Grid.Background>
                <LinearGradientBrush>
                    <GradientStop Offset="0" Color="Blue"></GradientStop>
                    <GradientStop Offset="0.5" Color="LightBlue"></GradientStop>
                </LinearGradientBrush>
            </Grid.Background>
            <TextBox Height="23" Margin="10,10,10,0" Name="textBox1" VerticalAlignment="Top" Text="{Binding ElementName=slider1, Path=Value, UpdateSourceTrigger=PropertyChanged}" TextChanged="textBox1_TextChanged" />
            <Slider Height="21" Margin="10,40,10,0" Name="slider1" VerticalAlignment="Top" Maximum="100" />
            <Button Content="Button" HorizontalAlignment="Left" Height="50" Margin="48,172,0,0" VerticalAlignment="Top" Width="138" Click="Button_Click"/>
            <Label Content="当前时间--" HorizontalAlignment="Left" Height="66" Margin="263,172,0,0" VerticalAlignment="Top" Width="204"/>
            <Button Content="Button1" HorizontalAlignment="Left" Height="52" Margin="48,258,0,0" VerticalAlignment="Top" Width="125" Click="Button_Click_1"/>
            <CheckBox Content="CheckBox" HorizontalAlignment="Left" Height="39" Margin="263,245,0,0" VerticalAlignment="Top" Width="109" Checked="CheckBox_Checked"/>
            <ComboBox HorizontalAlignment="Left" Margin="335,91,0,0" VerticalAlignment="Top" Width="120" SelectionChanged="ComboBox_SelectionChanged"/>
        </Grid>
    </Window>

    前后都是一样的,套路;
    效果:


    展开全文
  • 1. 打开vs2012,新建项目,选择wpf应用程序创建完成后,可以看到窗口中有三大部分组成,工程结构,窗口区域和窗口对应的代码区域在解决方案中,第一个文件是app.config,是系统的配置文件,用来记录配置信息,比如...

    开发环境:visual studio 2012 ,大家可以根据自己的情况使用更高的版本,因为我电脑上装了两个版的vs,不想再多装一个了,所以就用2012版本的了。

    1. 打开vs2012,新建项目,选择wpf应用程序


    创建完成后,可以看到窗口中有三大部分组成,工程结构,窗口区域和窗口对应的代码区域


    在解决方案中,第一个文件是app.config,是系统的配置文件,用来记录配置信息,比如数据库连接字符串等


    app.xaml是系统启动主应用入口,通过设置StartUri可以修改应用启动的主窗口


    app.xaml.cs是app.xaml对应的后台代码,这个跟web开发中的winform很相似


    mainWindow.xaml是自动创建的默认主窗口,同时也有对应的cs文件。

    点击f5直接运行程序,结果是一个空白的窗口页面


    我们的第一个wpf应用程序就算完成了。

    展开全文
  • DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持...

    DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。

    DevExpress WPF v21.1 正式版日前已发布,DevExpress图像库现在可用于 .NET Core 和 .NET 5、升级MVVM功能等,欢迎点击下载最新版体验!

    DevExpress v21.1完整版下载

    2021中国区首发 · DevExpress v21.1新版发布会报名开启,名额有限先到先得哦~

    .NET Core & .NET 5

    XAML 设计器 - 建议操作

    建议操作现在在Visual Studio Preview 版本中可用,并包括以下新功能:

    • 支持非可视元素(工具栏和功能区项目、数据网格列)
    • 支持嵌套元素(例如,GridControl 现在可以使用 TableView 选项)
    • 新属性编辑器
    • 外观标签

    界面控件DevExpress WinForms v21.1最新版亮点放送

    XAML 设计器 – 图像库

    DevExpress图像库现在可用于 .NET Core 和 .NET 5,图像库包括数千个高质量的光栅和矢量图标 (SVG)。 可以通过Suggested Actions、Properties窗口和Visual Studio 的主菜单访问该库。

    界面控件DevExpress WinForms v21.1最新版亮点放送

    MVVM

    编译时 ViewModel 生成

    此功能使用 .NET 5 中引入的 C# 源代码生成器在编译时为您的 ViewModel 生成样板代码。 命令声明、属性更改通知、IDataErrorInfo 实现和服务支持将自动添加链接到ViewModel 的分部类。

    C#

     

    // manual part
    using DevExpress.Mvvm.CodeGenerators;
    
    [GenerateViewModel]
    public partial class ViewModel {
    [GenerateProperty]
    int _Count;
    
    [GenerateCommand]
    public void Increment() => Count++;
    }
    
    // generated part
    partial class ViewModel : INotifyPropertyChanged {
    public event PropertyChangedEventHandler PropertyChanged;
    protected void RaisePropertyChanged(PropertyChangedEventArgs e) => PropertyChanged?.Invoke(this, e);
    public int Count {
    get => _Count;
    set {
    if(EqualityComparer<int>.Default.Equals(_Count, value)) return;
    _Count = value;
    RaisePropertyChanged(CountChangedEventArgs);
    }
    }
    DelegateCommand incrementCommand;
    public DelegateCommand IncrementCommand {
    get => incrementCommand ??= new DelegateCommand(Increment, null, true);
    }
    static PropertyChangedEventArgs CountChangedEventArgs = new PropertyChangedEventArgs(nameof(Count));
    }

     

    编译时代码生成共享与运行时生成的 POCO ViewModel 和标准 ViewModelBase 后代相关的好处:

    • ViewModel 没有重复的样板代码
    • 生成的代码存储在部分类中,您可以轻松查看和调试代码
    • ViewModel 类在设计时和运行时是相同的
    • 最佳运行时性能,因为类是提前生成的

    EventToCommand - 事件参数返回转换

    将事件参数传递给命令时,您可以定义反向转换逻辑并将值从命令返回到事件:

    XAML

     

    <dxe:TextEdit>
    <dxmvvm:Interaction.Behaviors>
    <dxmvvm:EventToCommand EventName="Validate"
    Command="{Binding ValidateCommand}"
    EventArgsConverter={local:ValidateEventArgsConverter} />
    </dxmvvm:Interaction.Behaviors>
    </dxe:TextEdit>

     

    C#

     

    public class ValidateEventArgsConverter : EventArgsConverterBase<ValidationEventArgs> {
    protected override void ConvertBack(object sender, ValidationEventArgs args, object parameter) {
    if (parameter is ValidationInfo info && info.IsValid)
    args.SetError(info.ErrorContent, info.ErrorType);
    }
    ...
    }

     

    当事件需要返回值并且特定于 UI 的事件参数无法传递给 ViewModel 时,这应该会简化这种情况。 此类事件的示例包括验证、自定义排序、自定义显示文本等。


    DevExpress技术交流群3:700924826      欢迎一起进群讨论

    展开全文
  • WPF:新手入门教程

    2019-09-11 12:22:38
    近期新学了WPF来开发项目,在此记录开发WPF的基础知识。 环境 当前使用系统:win7 开发工具: VS2015 操作 创建项目 开启VS后: 点击文件 选择新建 点击项目 找到模板(Visual C#)下选中WPF应用程序 修改项目项目...
  • 通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 新的WPF Breadcrumb控件使一个导航栏,类似于自Windows 7以来...
  • 【使用Modern UI快速开发WPF应用

    千次阅读 2016-04-22 15:48:40
    Modern UI 是基于WPF的一个开源项目,托管在 code plex 上,可以利用快速开发好看的WPF窗体应用程序。 一. 下载安装Modern UI for WPF Templates  打开VS>工具>扩展和更新>安装 Modern UI for WPF Templates ...
  • SharpDevelop 开发WPF教程

    千次阅读 2017-07-06 10:43:13
    最近写项目需要用到windows GUI开发,想到的第一个框架是QT。可是对方需要软件在XP运行,QT5.X写的桌面程序无法直接在XP主机运行,还需要一些额外的包装和操作。加上看QT教程,感觉从配置和教程都略微复杂,就放弃了...
  • wpf是微软新一代开发技术,涵盖了桌面应用程序开发、网络应用程序开发和移动应用程序开发,是微软开发技术未来十年的主要方向。 本书的内容分为两大部分。第一部分是学习wpf开发的基础知识,包括XAML语言的详细剖析...
  • WPF MVVM 编程模式/框架 基础+提高 项目开发实战视频教程 2008...
  • 通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 Microsoft上周正式发布了.NET 5,小编非常高兴地告诉大家,...
  • VS2019打包WPF安装程序最新教程,使用Visual Studio 2019开发WPF程序如果想要打包为安装程序,除了在VS2019找到WPF项目类库直接右键发布之外,更常用的还是将其打包为exe或者msi的安装程序;打包成安装程序的话,...
  • 使用.Net Core开发WPF App系列教程( 一、.Net Core和WPF介绍) 使用.Net Core开发WPF App系列教程 一、.Net Core和WPF介绍 二、在Visual Studio 2019中创建.Net Core WPF工程 三、与.Net Framework的区别 四、...
  • DotNetBrowser能嵌入一个基于Chromium的WPF或...在本快速入门指南中,您将学习如何下载DotNetBrowser库,获取评估许可证,以及创建、配置和运行第一个加载并显示www.google.com网页的.NET WPF应用程序。 1、下...
  • Unity3D应用嵌入WPF应用并实现通信

    千次阅读 热门讨论 2017-06-08 08:35:33
    最近由于项目需要,对Unity3D应用嵌入WPF应用进行了研究,并通过Socket实现了两者的通信。由于Unity3D在5.4.x版本后不再支持WebPlayer,所以并未使用UnityWebPlayer,另外考虑到我们原有的业务系统都是基于WPF的,...
  • 链接:https://docs.microsoft.com/zh-cn/visualstudio/get-started/csharp/tutorial-wpf?toc=%2Fdotnet%2Fdesktop-wpf%2Ftoc.json&bc=%2Fdotnet%2Fbreadcrumb%2Ftoc.json&view=vs-2019 通过...
  • 所以这里向wpf技术栈的开发者分享一套wpf教程,基于.net5框架进行开发本系列每一期视频长度平均在15分钟左右,并利用自己多年开发经验精炼内容帮助有基础的新手或有经验的开发者快速学习wpf这项技术。 二、详细 卡片...
  • ClickOnce 应用程序就是任何使用 ClickOnce 技术发布的 Windows窗体(课程示例用的是WPF项目)或控制台应用程序。传统使用 Windows Installer 部署时,应用程序通常依赖于共享组件,这便有可能发生版本冲突;而使用 ...
  • WPF应用程序允许你使用WinForms控件,且WinForms应用程序允许你使用WPF控件。针对跨平台的控件使用,我们有特殊组件 - hosts。具体而言,特殊组件WindowsFormsHost,可以帮助你在WPF中显示WinForms控件。 我们来...
  • WPF使用GMap.net框架开发地图应用

    千次阅读 2019-11-14 22:10:15
    GMap.NET有两个版本,分别是WinForm和WPF的版本,WinForm版本的教程很多。这次主要介绍的WPF版本的操作。 要下载GMap.NET请点击这里,这个最好下载下来,可以参考里面的Demo来学习。下载下来后,用visual studio打开...
  • 来自:... [原文发表地址] VS2010 Tutorial: Build a WPF App (Step 1) ...[原文发表时间] Friday, May 22, 2009 8:00 AM ...这篇文章里,我将使用VS2010 Beta 1创建一个WPF 应用程序。并且
  • WPF入门教程 创建你的第一个WPF项目

    千次阅读 2010-06-30 09:19:00
    WPF入门教程系列(一) 创建你的第一个WPF项目WPF基础知识 快速学习绝不是从零学起的,良好的基础是快速入手的关键,下面先为大家摞列以下自己总结的学习WPF的几点基础知识: 1) C#基础语法知识(或者其他...
  • c/s结构windows桌面应用程序wpf教程-创建wpf应用开发环境:visual studio 2012 ,大家可以根据自己的情况使用更高的版本,因为我电脑上装了两个版的vs,不想再多装一个了,所以就用2012版本的了。 打开vs2012,新建...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,224
精华内容 1,289
关键字:

wpf应用开发项目教程