6.2 Binding基础
WPF最为核心的思想是数据驱动UI,实现这一技术的基石就是绑定技术(binding)。如果把Binding比作数据的桥梁,那么它的两端分别是源(Source)和目标(Target),Binging是架在中间的桥梁。一般情况下绑定的源是逻辑层对象,绑定的目标是UI层的控件对象。我们可以想象Binging这座桥梁上铺设了高速公路,我们可以控制公路在源和目标之间是双向通行还是当个方向通行,还可以设置关卡,确定数据放行机制,对数据有效性进行校验,甚至可以在桥上架一些中转站来转换数据类型。
下面《深入浅出WPF》刘铁锰老师给出的例子:
cs 文件
`namespace Binding_6_1
{
///
/// MainWindow.xaml 的交互逻辑
///
///
public class Student : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string name;
public string Name { get { return name; }
set
{
name = value;
if (this.PropertyChanged != null)
{
PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Name"));
}
}
}
}
public partial class MainWindow : Window
{
public Student stu;
public MainWindow()
{
InitializeComponent();
stu = new Student();
Binding binding = new Binding("Name");
binding.Source = stu;
BindingOperations.SetBinding(this.TextBox, TextBox.TextProperty, binding);
}
private void button_Click(object sender, RoutedEventArgs e)
{
stu.Name += "Name";
}
}
}`
xaml文件
<StackPanel >
<TextBox x:Name="TextBox" Height="30" TextWrapping="Wrap" Text="Name" Margin="10" />
<Button x:Name="button" Height="30" Content="Add Page" Margin="10" Click="button_Click" />
</StackPanel>
6.2 Binding基础的更多相关文章
- Binding基础 文摘
简要 Binding基础 Binding源与路径 列举Binding的源 Binding基础 从Coding中看Binding的基础. 先定义一个Student类: public class Stud ...
- WPF基础知识、界面布局及控件Binding(转)
WPF是和WinForm对应的,而其核心是数据驱动事件,在开发中显示的是UI界面和逻辑关系相分离的一种开放语言.UI界面是在XAML语言环境下开发人员可以进行一些自主设计的前台界面,逻辑关系还是基于c ...
- WPF基础知识、界面布局及控件Binding
WPF是和WinForm对应的,而其核心是数据驱动事件,在开发中显示的是UI界面和逻辑关系相分离的一种开放语言.UI界面是在XAML语言环境下开发人员可以进行一些自主设计的前台界面,逻辑关系还是基于c ...
- Binding笔记
Binding基础 绑定某个对象的属性值到控制上,写法如下: public class Order : INotifyPropertyChanged//只要实现此接口 { public event ...
- Binding
Binding基础 绑定某个对象的属性值到控制上,写法如下: public class Order : INotifyPropertyChanged//只要实现此接口 { public event ...
- WPF之Binding深入探讨
原文:http://blog.csdn.net/fwj380891124/article/details/8107646 1,Data Binding在WPF中的地位 程序的本质是数据+算法.数据会在 ...
- WPF的Binding功能解析
1,Data Binding在WPF中的地位 程序的本质是数据+算法.数据会在存储.逻辑和界面三层之间流通,所以站在数据的角度上来看,这三层都很重要.但算法在3层中的分布是不均匀的,对于一个3层结构的 ...
- WPF之Binding深入探讨--Darren
1,Data Binding在WPF中的地位 程序的本质是数据+算法.数据会在存储.逻辑和界面三层之间流通,所以站在数据的角度上来看,这三层都很重要.但算法在3层中的分布是不均匀的,对于一个3层结构的 ...
- binding(转)
1,Data Binding在WPF中的地位 程序的本质是数据+算法.数据会在存储.逻辑和界面三层之间流通,所以站在数据的角度上来看,这三层都很重要.但算法在3层中的分布是不均匀的,对于一个3层结构的 ...
随机推荐
- plc模拟量采集模块的作用
在工业控制中,某些输入量(如压力.温度.流量.转速等)是连续变化的模拟量,某些执行机构(如伺服电动机.调节阀.记录仪等)要求PLC输出模拟信号,而PLC的CPU只能处理数字量.模拟量首先被传感器和变送 ...
- html input只允许输入整数
如果想想让input输入框只输入整数,直接使用以下的input就可以了 <input id="sequence" class="o_input" onke ...
- linux 的mysql 主从备份
1.原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把mast ...
- sort回调的简单模拟
本来是准备讲CPP中的std::sort,但因为最近Java用得多,不知怎么的便习惯性走Java角度看问题了,所以这篇文章看起来估计会有点奇怪... 一.简单模拟sort回调 std::sort函数本 ...
- Inception系列之Batch-Normalization
训练深度神经网络非常复杂,因为在训练过程中,随着先前各层的参数发生变化,各层输入的分布也会发生变化,图层输入分布的变化带来了一个问题,因为图层需要不断适应新的分布,因此训练变得复杂,随着网络变得更深, ...
- Frontpage 三种回车键
Frontpage的回车键有三种:enter.shift+enter.ctrl+enter. enter键对应于HTML中的<p></p>,是一个段落的分界符. shift+e ...
- binary hacks读数笔记(od命令)
Linux od命令用于输出文件内容. od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来 -t<输出格式>或--format=<输出格式> 设置输出格式. 实例 ...
- CDC(跨时钟域)和亚稳态
- Flink处理函数实战之一:深入了解ProcessFunction的状态(Flink-1.10)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Bad magic number ImportError in python
是源码编译里面版本不对,删除掉源码pyc然后重新编译就可以了 find .-name '*.pyc'-delete python -m compileall . 更新历史 why when 创建 20 ...