iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >WPF绑定Binding用法
  • 752
分享到

WPF绑定Binding用法

2024-04-02 19:04:59 752人浏览 泡泡鱼
摘要

什么是绑定(Binding)? 在winform中, 我们常常会用到各种类型的赋值, 例如: button1.Text="Hello";label.Text=&q

什么是绑定(Binding)?

winform中, 我们常常会用到各种类型的赋值, 例如:

  • button1.Text="Hello";
  • label.Text="Hello";
  • ...

类似这种赋值操作, 我们之所以不称之为绑定, 主要原因是因为他们大多数操作都是一次性的, 无论是数据还是按钮本身发生变化,对两者而言都是不可见的。

而绑定的概念则侧重于: 两者的关联,协议与两者之间的影响。

首先, 从一个简单的例子来理解什么是绑定。

创建一个滑块控件, 并且希望在滑动的过程中, 把值更新到另外一个静态文本上。代码如下:

在winfORM中, 我们常规的做法会给滑块创建一个值改变事件,同时将滑块的值赋值给文本。

接下来, 我只需要在静态文本中添加一小段绑定的声明,即可完整原本很复杂的操作:

Text={Binding ElementName=slider,Path=Value}

  • {Binding }: Binding的声明语法, 一对尖括号,开头声明以Binding 开始。
  • ElementName= : 该声明意为, 设置元素的名称
  • Path: 设置关联元素的位置,上例中设置为元素的value属性。

那么该如何理解整句话的意义, 翻译: 静态文本TextBlock的Text属性将通过绑定的方式关联到元素名'slider'的value属性上。

效果图所示:

可以看到,在滑块不断的滑动过程中, TextBlock也在不断的发生变化, 说明TextBlock已经得到了滑动滑动过程中的值变化, 这种关联, 我们称之为绑定, 在WPF当中, 绑定又分很多种, 而上面这种则是通过元素绑定的方式。

理解了基础的绑定之后,然后就是理解绑定的模式。

绑定的模式就类似我们商业中的合作, 是一次性回报还是持续获益, 是否可以单方面终止, 是否具有投票权等, 在WPF中绑定的模式又分为五种:

  • OneWay(单向绑定) : 当源属性发生变化更新目标属性, 类似上面的例子中, 滑动变化更新文本的数据。示例:

效果:

  • TwoWay(双向绑定) : 当源属性发生变化更新目标属性, 目标属性发生变化也更新源属性。

与单向绑定的区别可以理解为, 前者只能打你,被打者不能还手, 双向绑定的意思则是: 你敢打我一巴掌,我也能回你一巴掌。示例:

效果:

  • OneTime(单次模式) : 根据第一次源属性设置目标属性, 在此之后所有改变都无效。

如第一次绑定了数据源为0, 那么无论后面如何改变 2、3、4... 都无法更新到目标属性上。示例:

效果:

  • OneWayToSource : 和OneWay类型, 只不过整个过程倒置。示例:

效果:

  • Default : 既可以是双向,也可以是单项, 除非明确表明某种模式, 否则采用该默认绑定

绑定到非元素上

上面的代码中,使用的绑定方式是根据元素的方式: ElementName=xxx, 如需绑定到一个非元素的对象, 则有一下几属性:

  • Source : 指向一个数据源, 示例, TextBox使用绑定的方式用Source指向一个静态资源ABC:

  • RelativeSource : 使用一个名为RelativeSource的对象来根据不同的模式查找源对象,

示例, 使用RelativeSource的FindAncestor模式, 查找父元素为StackPanel的Width值

  • DataContext: 从当前的元素树向上查找到第一个非空的DataContext属性为源对象。

示例, 该示例用后台代码创建一个只包含Name的类, Test, 通过绑定窗口的DataContext上下文:

后台代码绑定简单文本与列表

创建一个PageModel类, 定一个ClassName为班级名称, 和一个Students学生列表, 后台代码:

窗口代码

效果预览

关于以上, 基本介绍了WPF元素绑定的方式与几种模式, 接下讲的是, WPF中的事件如果通过绑定的方式和UI分离。尽管WPF中仍然可以兼容winform中的事件模型, 而binding也是MVVM架构中的重要组成部分(下节会介绍)。

到此这篇关于WPF绑定Binding用法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: WPF绑定Binding用法

本文链接: https://www.lsjlt.com/news/163980.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • WPF绑定Binding用法
    什么是绑定(Binding) 在winform中, 我们常常会用到各种类型的赋值, 例如: button1.Text="Hello";label.Text=&qu...
    99+
    2022-11-13
  • WPF数据绑定Binding的用法
    一、简介 WPF的核心理念是变传统的UI驱动数据变成数据驱动UI,支撑这个理念的基础就是本章讲的Data Binding和与之相关的数据校验和数据转换。在使用Binding的时候,最...
    99+
    2022-11-13
  • WPF 非元素类绑定Binding之 RelativeSource 属性
    WPF中的RelativeSource属性用于非元素类的绑定,比如在样式、模板或数据模板中使用。它允许您从绑定目标的父级或祖先级元素...
    99+
    2023-09-28
    WPF
  • Android Data Binding数据绑定详解
    去年谷歌 I/O大会上介绍了一个非常厉害的新框架DataBinding, 数据绑定框架给我们带来了很大的方便,以前我们可能需要在每个Activity里写很多的findViewB...
    99+
    2022-06-06
    Android
  • WPF PasswordBox进行数据绑定方法
    目录问题描述解决办法本文介绍下PasswordBox进行数据绑定的方法,本文参考链接。 本文完整示例程序见GitHub。 问题描述 PasswordBox的Password属性不是...
    99+
    2022-11-12
  • WPF实现数据绑定
    简单而言, 数据绑定是一种关系, 这种关系告诉WPF 从一个源目标对象中提取一些信息, 并且使用该信息设置为目标对象的属性。目标属性总是依赖项属性, 并且通常位于WPF元素中。 然而...
    99+
    2022-11-13
  • wpf双向绑定的方法是什么
    WPF(Windows Presentation Foundation)中的双向绑定是一种机制,可以在界面控件和数据对象之间实现双向...
    99+
    2023-08-08
    wpf
  • GridView绑定数据的实现-wpf数据绑定
    在WPF中,可以通过以下步骤实现GridView的数据绑定:1. 创建一个数据模型类,用于表示你要绑定的数据对象。该类应该实现INo...
    99+
    2023-09-22
    GridView
  • WPF TreeView绑定数据的方法是什么
    WPF TreeView 绑定数据的方法有多种,可以使用以下几种方法: 使用 ItemsSource 属性:可以将一个集合作为 T...
    99+
    2023-10-23
    WPF TreeView
  • WPF数据驱动修改绑定的方法
    本篇内容介绍了“WPF数据驱动修改绑定的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、简介在XAML文件中我们创建了一个TextBl...
    99+
    2023-06-30
  • WPF双重绑定怎么实现
    WPF双重绑定可以通过使用TwoWay绑定模式和使用UpdateSourceTrigger属性来实现。 首先,确保你的绑定属性使用T...
    99+
    2023-10-23
    WPF
  • WPF数据驱动修改绑定
    一、简介 在XAML文件中我们创建了一个TextBlock 和一个Slider。2个控件。我们把TextBlock的Text属性(用于显示文本的属性)设置为{Binding Inte...
    99+
    2022-11-13
  • wpf双向绑定怎么实现
    WPF双向绑定可以通过以下步骤实现:1. 首先,在XAML中,将需要进行双向绑定的控件的`Mode`属性设置为`TwoWay`,例如...
    99+
    2023-09-06
    wpf
  • WPF怎么绑定多条曲线
    在WPF中,可以使用Path对象来绑定多条曲线。具体的步骤如下:1. 创建一个Path对象,并将其添加到XAML文件中的Canvas...
    99+
    2023-08-20
    WPF
  • wpf怎么绑定对象的属性
    在WPF中,可以使用数据绑定来绑定对象的属性。 首先,确保你的对象实现了INotifyPropertyChanged接口。这个接口定...
    99+
    2023-10-24
    wpf
  • WPF数据绑定中的RelativeSource属性
    一、简介 一个在Binding中比较重要的知识点——RelativeSource. 使用RelativeSource对象指向源对象。用这个可以在当前元素的基础...
    99+
    2022-11-13
  • wpf自定义控件绑定结构体的方法是什么
    要在WPF中绑定结构体,可以使用以下方法:1. 创建一个继承自`DependencyObject`的自定义控件类,该类包含一个依赖属...
    99+
    2023-09-06
    wpf
  • WPF 查看绑定错误——Snoop 的基本使用
    关于 可以通过 Snoop 查看 WPF 程序的 Visual Tree,更多介绍请看 snoopwpf 快速开始 一、下载 snoopwpf.msi 安装后打开,选择自己的程序,点击 snoop(望远镜) 二、筛选 点击左侧下拉列表,选...
    99+
    2023-08-30
    wpf
  • wpf数据绑定的方式有哪些
    WPF数据绑定的方式有四种:1. 单向绑定(OneWay):数据只能从数据源传递到目标元素,不能从目标元素传递回数据源。2. 双向绑...
    99+
    2023-08-09
    wpf
  • WPF使用WPFVisifire前台代码绑定多条曲线
    在WPF中使用WPFVisifire绑定多条曲线,可以通过在前台代码中创建多个`DataSeries`对象,然后将它们绑定到`Cha...
    99+
    2023-08-19
    WPF
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作