细说WPF数据绑定
简单的事例:
<Slider Name="mySlider" Height="28" HorizontalAlignment="Left"
Margin="33,40,0,0" VerticalAlignment="Top" Width="243" />
<TextBlock Name="myTextBlock" Height="23"
HorizontalAlignment="Left" Margin="44,94,0,0" Text="TextBlock"
FontSize="{Binding ElementName=mySlider,Path=Value}"
VerticalAlignment="Top" Width="95" />
FontSize="{Binding ElementName=mySlider,Path=Value}" 中ElementName表示源元素,Path表示源元素中的属性。
Binding binding = new Binding();
binding.Source = mySlider;
binding.Path = new PropertyPath("Value");
binding.Mode = BindingMode.TwoWay;
this.myTextBlock.SetBinding(TextBlock.FontSizeProperty, binding);
以上分别用XAML和代码实现简单的绑定,以下介绍绑定方向:
1.OneWay,当源属性变化时更新目标属性。 2.TwoWay,当源属性变化时更新目标属性并更新源属性。 3.OneTime,根据源属性设置目标属性。 4.OneWayToSource,和OneWay相似,但方向相反。 5.Default,绑定依赖于目标属性,可单双向。 |
绑定的发行是由Binding.UpdataSourceTrigger属性控件,包括:
1.PropertyChanged,当目标发生变化时立即更新。 2.LostFocus,当目标发生变化并失去焦点时更新。 3.Explicit,除非调用BindingExpression.UpdataSource方法,否则不更新。 4.Default,根据目标属性确定更新行为。 |
值得注意的是,当绑定到一个非元素对象时,要放弃Binding.ElementName属性,可以用以下之一:
1.Source,指向源对象的引用。 2.RelativeSource,使用RelativeSource对象去指向源对象的引用。 3.DataContext,没有使用Source和RelativeSource属性时,检查元素树并使用第一个 DataContext. |
细说WPF数据绑定的更多相关文章
- WPF 数据绑定Binding
什么是数据绑定? Windows Presentation Foundation (WPF) 数据绑定为应用程序提供了一种简单而一致的方法来显示数据以及与数据交互. 通过数据绑定,您可以对两个不同对象 ...
- WPF数据绑定Binding(二)
WPF数据绑定Binding(二) 1.UI控件直接的数据绑定 UI对象间的绑定,也是最基本的形式,通常是将源对象Source的某个属性值绑定 (拷贝) 到目标对象Destination的某个属性上. ...
- WPF——数据绑定(一)什么是数据绑定
注意:本人初学WPF,文中可能有表达或者技术性问题,欢迎指正!谢谢! 一:什么是数据绑定? “Windows Presentation Foundation (WPF) 数据绑定为应用程序提供了一种简 ...
- 剖析WPF数据绑定机制
引言 WPF框架采取的是MVVM模式,也就是数据驱动UI,UI控件(Controls)被严格地限制在表示层内,不会参与业务逻辑的处理,只是通过数据绑定(Data Binding)简单忠实地表达与之绑定 ...
- WPF 10天修炼 第十天- WPF数据绑定
WPF数据绑定 数据绑定到元素属性是将源对象指定为一个WPF元素,并且源属性是一个依赖属性,依赖属性内置了变更通知.当改变源对象依赖属性值之后,绑定目标可以立即得到更新,开发人员不需要手动编写响应事件 ...
- 微软原文翻译:适用于.Net Core的WPF数据绑定概述
原文链接,大部分是机器翻译,仅做了小部分修改.英.中文对照,看不懂的看英文. Data binding overview in WPF 2019/09/19 Data binding in Windo ...
- C#-WPF数据绑定基础(一)
前言:WPF数据绑定技术有效的提高了程序的容错率,可以最大程度的保持程序的健壮性,从而降低程序在使用过程中崩掉的可能性. 接下来,我将分享一下我在写测量程序过程中所用到的数据绑定方面的知识 首先,我所 ...
- C#WPF数据绑定模板化操作四步走
前言:WPF数据绑定对于WPF应用程序来说尤为重要,本文将讲述使用MVVM模式进行数据绑定的四步走用法: 具体实例代码如下: 以下代码仅供参考,如有问题请在评论区留言,谢谢 1 第一步:声明一个类用来 ...
- WPF 数据绑定 1_1 基础知识&绑定到元素属性
A.数据绑定基础: 数据源对象:WPF将从该对象中提取信息,交由目标对象进行显示. 目标对象:从数据源中提取信息,并赋给该对象的属性. B.绑定到元素属性 最简单的绑定情形则是将一个源对象指定为一个W ...
随机推荐
- 基于Spring的异步系统实现方案
一般的实现方案 发送异步消息所使用的工具类: import java.util.Date; import javax.jms.Destination; import javax.jms.JMSExce ...
- Eclipse 安装插件
Eclipse 安装插件 本文介绍Eclipse插件的安装方法.Eclipse插件的安装方法大体有三种:直接复制.使用link文件,以及使用eclipse自带的图形界面的插件安装方法. AD: 做为当 ...
- Max Flow
Max Flow 题目描述 Farmer John has installed a new system of N−1 pipes to transport milk between the N st ...
- POJ3352 Road Construction 双连通分量+缩点
Road Construction Description It's almost summer time, and that means that it's almost summer constr ...
- Quick Cocos2dx 与 Eclipse 连真机debug遇到的问题
今天下午解决了因为偷懒一直忍受的两个让我不爽很久了的问题: 1Eclipse无法连接手机调试的问题. 在设备管理器中看到的Android设备有黄色的感叹号, 说明驱动不是最新的. 按照网上搜到的解决方 ...
- 关于NOMINMAX这个预处理宏
标准库在<algorithm>头中定义了两个模板函数std::min() 和 std::max().通常用它可以计算某个值对的最小值和最大值.可惜在 Visual C++ 无法使用它们,因 ...
- iOS 简易环形进度条
demo下载地址:https://github.com/haozheMa/LoopProgressDemo/tree/master ViewController中的代码 #import "V ...
- Qt下libusb-win32的使用方法(转)
源:Qt下libusb-win32的使用方法 之前一直找不到适合WIN7下的Tiny6410的USB下载软件,正好这几天开始学习USB,所以打算自己写一个专门用于Tiny6410的WIN7下的USB下 ...
- java web基础 --- URL重定向Filter
java web基础 --- URL重定向Filter httpRequest.getRequestDispatcher("/helloWorld").forward(httpRe ...
- 安卓Visibility属性
可见(visible) XML文件:android:visibility="visible" Java代码:view.setVisibility(View.VISIBLE); 不可 ...