![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
WPF
文章平均质量分 75
X·3
这个作者很懒,什么都没留下…
展开
-
MVVM中RadioButton等一对多控件的绑定
MVVM中RadioButton等一对多控件的绑定当我们要进行性别这一属性绑定的时候,我们会发现,两个RadioButton控件都跟一个Gender属性关联。其实我们在绑定控件时还会遇到这样一个问题:属性是一个bool类型,但需要绑定控件的Visibility属性。这个问题也可以在本文介绍的方法得到解决。控件在绑定时,是可以设置一个Converter的。Converter有两个方法,分别是Convert和ConvertBack。Convert用于将数据格式化之后,显示到控件上。而ConvertBac原创 2022-05-29 15:07:19 · 477 阅读 · 0 评论 -
MVVM跨页面数据传输
MVVM跨页面数据传输一、MVVM是什么?MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可原创 2022-05-18 15:03:11 · 693 阅读 · 0 评论 -
【无标题】
WPF MVVM--命令和事件接下来我们要做的事情,是把点击登录按钮的事件也在ViewModel里实现。若不是用MVVM模式,可能XAML文件里是这样的:而跟XAML文件相关的CS文件里则是这样的:如此一来,前端和后端的代码又耦合在一起了。其实,命令和事件都是可以绑定的,就像数据一样。我们先来了解一下命令。ICommand是所有命令的接口,它主要完成两件事情,这个命令能否被执行,以及执行命令。例如当用户名为空时,我们可能会禁用按钮。当登录按钮跟一个命令绑定在...原创 2022-05-08 09:26:06 · 169 阅读 · 0 评论 -
WPF MVVM--数据绑定
WPF MVVM--数据绑定一、数据绑定要达到的效果数据绑定要达到什么效果呢,就是在界面中绑定了数据源之后,数据在界面上的修改能反映到绑定源,同时绑定源的修改也能反映到界面上。从界面反映到绑定的数据源是很容易理解的,因为在绑定过程中我们指定了DataContext和Binding的对象,很容易找到绑定的源并修改。但数据源修改时怎么通知界面呢?因为ViewModel中被绑定的属性并不知道谁绑定了它,如果在ViewModel中存一个View的引用,在数据发生变化时修改View,这无疑又将ViewMode原创 2022-04-28 10:34:10 · 1595 阅读 · 0 评论 -
WPF MVVM--事件绑定
WPF MVVM--事件绑定事件转命令在我们大多数拥有Command依赖属性的控件,大多数是由于继承了ICommandSource接口,ICommandSource接口拥有三个函数成员,ICommand接口类型属性Command,object 类型属性CommandParameter,IInputElement 类型属性CommandTarget,而基本继承着ICommandSource接口这两个基础类的就是ButtonBase和MenuItem,因此像Button,Checkbox,RadioBu原创 2022-04-20 09:17:28 · 1599 阅读 · 0 评论 -
MVC/MVVM模式特点及区别
MVC/MVVM模式特点及区别一.概述MVC,MVP,MVVM是三种常见的前端架构模式(Architectural Pattern),它通过分离关注点来改进代码组织方式。不同于设计模式(Design Pattern),只是为了解决一类问题而总结出的抽象方法,一种架构模式往往能使用多种设计模式。MVC模式是MVP,MVVM模式的基础,这两种模式更像是MVC模式的优化改良版,他们三个的MV即Model,view相同,不同的是MV之间的纽带部分。本文主要介绍MVC与MVVM的应用与...原创 2022-04-10 09:10:30 · 516 阅读 · 0 评论 -
WPF--XAML资源
WPF--XAML资源资源是可以在应用程序的不同位置重用的对象。XAML资源的示例包括画笔和样式。每个框架级别的元素(FrameworkElemen或FrameworkContentElement)都有一个resource属性,该属性包含资源定义的资源(作为ResourceDictionary)。可以在任何元素上定义资源,但是资源通常是在根元素上定义的。当在页面根元素上定义一个资源时,页面逻辑树中的所有元素都可以访问它,并且您可以重用相同的资源来设置接受该资源表示的类型的任何属性的值。可以将资源引用原创 2022-03-28 08:36:51 · 643 阅读 · 0 评论 -
XAML和自定义类
XAML和自定义类可扩展应用程序标记语言(XAML)支持使用任何公共语言运行库(CLR)语言定义自定义类或结构,然后使用XAML标记(包括在同一标记文件中混合使用 Windows Presentation Foundation (WPF)定义的XAML和自定义类的XAML标记)访问该类的功能。本主题讨论自定义类要用作XAML元素时所必须满足的要求。应用程序或程序集中的自定义类可以使用两种不同的方法定义XAML中使用的自定义类:在生成主Windows Presentation Foundation原创 2022-03-20 15:18:52 · 448 阅读 · 0 评论 -
WPF--名称范围
WPF--名称范围名称范围既是一种概念,也是用于存储对象的XAML定义名称及其实例等效项之间的关系的编程对象。加载XAML应用程序的页面时,即在 WPF 托管代码中创建了名称范围。作为编程对象的名称范围由INameScope接口定义,并且还由实际类NameScope实现。加载的XAML应用程序中的名称范围处理XAML页时,即对该页的根元素创建了名称范围。该页中指定的每个名称都会添加到相关的名称范围中。作为常见根元素(例如Page和Window)的元素总是控制名称范围。如果在标记中某个元素(例原创 2022-03-08 14:54:56 · 200 阅读 · 0 评论 -
WPF--依赖属性
WPF--依赖属性大家都知道WPF带来了很多新的特性,其中一个就是引入了一种新的属性机制——依赖属性。依赖属性出现的目的是用来实现WPF中的样式、自动绑定及实现动画等特性。依赖属性的出现是WPF这种特殊的呈现原理派生出来的,与.NET普通属性不同的是,依赖属性的值是依靠多个提供程序来判断的,并且其具有内建的传递变更通知的能力。依赖属性基本应用在了WPF的所有需要设置属性的元素。依赖属性根据多个提供对象来决定它的值 (可以是动画、父类元素、绑定、样式和模板等),同时这个值也能及时响应变化。依赖属性原创 2022-03-01 15:54:56 · 2825 阅读 · 0 评论 -
WPF--模板化
WPF之模板化数据模板在本示例应用程序中,有一个绑定到照片列表的ListBox控件。此ListBox当前的外观如下所示:大多数控件都具有某种类型的内容,这些内容通常来自绑定到的数据。在本示例中,数据为照片列表。在WPF中,使用DataTemplate可以定义数据的可视表示形式。基本上,输入DataTemplate的内容决定了数据在呈现的应用程序中的外观。在我们的示例应用程序中,每个自定义Photo对象都具有一个字符串类型的Source属性,该属性指定图像的文件路径。当前,照片对象显示为文原创 2022-02-24 16:29:12 · 361 阅读 · 0 评论 -
WPF--属性系统
WPF--属性系统Windows Presentation Foundation(WPF)提供了一组服务,这些服务可用于扩展公共语言运行库(CLR)属性的功能。这些服务通常统称为WPF属性系统。由 WPF 属性系统支持的属性称为依赖项属性。本概述介绍WPF属性系统以及依赖项属性的功能,这包括如何在可扩展应用程序标记语言(XAML)中和代码中使用现有的依赖项属性。本概述还介绍了依赖项属性所特有的方面(如依赖项属性元数据),并说明了如何在自定义类中创建自己的依赖项属性。先决条件本主题假设您在CLR和原创 2022-02-24 16:24:57 · 239 阅读 · 0 评论 -
WPF--路由事件
WPF--路由事件本主题描述Windows Presentation Foundation (WPF)中路由事件的概念。本主题定义路由事件术语,描述路由事件如何通过元素树来路由,概述如何处理路由事件,并介绍如何创建您自己的自定义路由事件。先决条件本主题假设您对如下内容有基本的了解:公共语言运行库(CLR)、面向对象的编程以及如何用树的概念来说明WPF元素之间的关系。为了按照本主题中的示例操作,您还应当了解可扩展应用程序标记语言(XAML)并知道如何编写非常基本的 WPF 应用程序或页。什么是原创 2022-02-24 16:11:18 · 402 阅读 · 1 评论 -
布局之UniformGrid
布局之UniformGridUniformGrid介绍了前面的Grid,接下来介绍的这个UniformGrid就是Grid的简化版,每个单元格的大小相同,不需要定义行列集合。每个单元格始终具有相同的大小,每个单元格只能容纳一个控件,将自动按照定义在其内部的元素个数,自动创建行列,并通常保持相同的行列数。UniformGrid中没有Row和Column附加属性,也没有空白单元格。与Grid布局控件相比,UniformGrid布局控件很少使用。Grid面板是用于创建简单乃至复杂窗口布局的通用工具。.原创 2021-10-27 14:57:47 · 388 阅读 · 0 评论 -
布局之Grid
布局之Grid一、GridGrid顾名思义就是“网格”,它的子控件被放在一个一个实现定义好的小格子里面,整齐配列。Grid和其他各个Panel比较起来,功能最多也最为复杂。要使用Grid,首先要向RowDefinitions和ColumnDefinitions属性中添加一定数量的RowDefinitions和ColumnDefinitions元素,从而定义行数和列数。而放置在Grid面板中的控件元素都必须显示采用附加属性语法定义其放置所在的行和列,它们都是以0为基准的整型值,如果没有显式设置任何..原创 2021-10-18 10:00:46 · 343 阅读 · 0 评论 -
布局之WrapPanel与StackPanel
布局之WrapPanel与StackPanel一、WrapPanelWrapPanel布局面板将各个控件从左至右按照行或列的顺序罗列,当长度或高度不够是就会自动调整进行换行,后续排序按照从上至下或从右至左的顺序进行。Orientation——根据内容自动换行。当Horizontal选项看上去类似于Windows资源管理器的缩略图视图:元素是从左向右排列的,然后自上至下自动换行。Vertical 选项看上去类似于Windows资源管理器的列表视图:元素是从上向下排列的,然后从左至右自动换行。I原创 2021-10-12 09:26:30 · 991 阅读 · 0 评论 -
布局介绍与Canvas
布局介绍与Canvas这篇文章是对WPF中的界面如何布局做一个较简单的介绍,大家都知道:UI是做好一个软件很重要的因素,如果没有一个漂亮的UI,功能做的再好也无法吸引很多用户使用,而且没有漂亮的界面,那么普通用户会感觉这个软件没有多少使用价值。一、总体介绍WPF的布局控件都在System.Windows.Controls.Panel这个基类下面,使用WPF提供的各种控件在WPF应用程序中界面进行布局,同时对各种子控件(如按钮、文本框,下拉框等)进行排列组合。Pane类的公共属性很多.原创 2021-09-28 09:14:09 · 184 阅读 · 0 评论 -
WPF基础--绑定(二)
WPF基础--绑定(二)绑定组件从基础模型,可以知道,绑定有四个组件:绑定目标对象、绑定目标属性(依赖项属性)、绑定源、绑定源值路径。举个例子:XMAL文件:后台文件:运行结果:这个例子下,用户在TextBox框中输入字符串,只有当用户接着点击一下按钮或者将输入焦点改变到其他地方,TextBlox的字符串才会改变成和TextBox输入框的字符串一样。绑定源,这里例子是mcl;记住绑定源指的是对象; 绑定路径,可以完全理解为绑定源的某个属性...原创 2021-09-17 14:45:10 · 289 阅读 · 0 评论 -
WPF基础--绑定(一)
WPF基础--绑定(一)首先了解一下大致的意思:WPF中的数据绑定:是在应用程序UI与业务逻辑之间建立连接的过程,其关键是System.Windows.Data.Binding对象,它会把两个对象(UI对象与UI对象之间,UI对象与.NET数据对象之间)按照指定的方式粘合在一起,并在他们之间建立一条通信通道,绑定一旦建立,接下来的应用生命周期中它可以自己独立完成所有的同步工作。 数据绑定是绑定的一种重要类型,而绑定是MVVM架构中的重要组成部分,MVVM架构可以实现UI与业务逻辑分离。一、什么是原创 2021-09-09 08:42:07 · 580 阅读 · 0 评论 -
WPF数据模板
WPF数据模板数据模板常用在3种类型的控件, 下图形式:Grid这种列表表格中修改Cell的数据格式, CellTemplate可以修改单元格的展示数据的方式; 针对列表类型的控件,例如树形控件,下拉列表,列表控件,可以修改其中的ItemTemplate; 修改ContentTemplate,例UserControl控件的数据展现形式。1. CellTemplate 模板下面用一个例子, 来演示CellTemplate使用。例子实现一个DataGrid 展示一个普通的...原创 2021-08-17 16:30:22 · 490 阅读 · 0 评论 -
样式(Style)和触发器
样式(Style)和触发器样式(Style)是组织和重用格式化选项的重要工具。样式封装了一系列属性设置细节;触发器,顾名思义, 触发器可以理解为, 当达到了触发的条件, 那么就执行预期内的响应, 可以是样式、数据变化、动画等。触发器,从某种意义上来说它也是一种Style,因为它包含有一个Setter集合,并根据一个或多个条件执行Setter中的属性改变。一、样式(Style)WPF中的各类控件元素, 都可以自由的设置其样式,而样式则是组织和重用格式化选项的重要工具。不是使用重复的...原创 2021-08-06 09:50:26 · 415 阅读 · 0 评论 -
WPF的路由事件
事件(Event)Windows消息机制中重要概念之一,最常见的人机交互手段之一 XAML帮助应用管理用户输入,执行不同的行为 引入增强型事件处理系统-Routed Event(路由事件) 事件常常被用于控制更改通知操作一、事件基础语法 基础语法:<ObjectName EventName="EventHandle">XAML:<!--定义按钮--> <Button Click="Button_Click"/> C#://事件 p.原创 2021-07-27 16:32:56 · 167 阅读 · 0 评论