WPF之Binding的三种简单写法
环境
类代码
public class Person:INotifyPropertyChanged
{
private string name;
public string Name
{
get { return this.name; }
set
{
this.name = value;
notifyPropertyChanged("Name");
}
}
private int age;
public int Age
{
get { return this.age; }
set
{
this.age = value;
notifyPropertyChanged("Age");
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void notifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
窗体代码
public partial class BindTest : Window
{
public Person per;
public BindTest()
{
InitializeComponent();
per = new Person { Age = 100, Name = "深入浅出WPF" };
Binding b = new Binding();
b.Source = per;
b.Path = new PropertyPath("Name");
BindingOperations.SetBinding(textbox, TextBox.TextProperty, b);
box.DataContext = per;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
text.SetBinding(TextBox.TextProperty, new Binding("Name") { Source = per });
}
}
XAML代码
<StackPanel >
<TextBox Margin="10" Height="40" x:Name="textbox"></TextBox>
<TextBox Margin="10" Height="40" x:Name="text"></TextBox>
<TextBox Margin="10" Height="40" Text="{Binding Name}" x:Name="box"></TextBox>
<Button Height="40" Click="Button_Click"></Button>
</StackPanel>
三种写法
1,
C#
per = new Person { Age = 100, Name = "深入浅出WPF" };
Binding b = new Binding();
b.Source = per;
b.Path = new PropertyPath("Name");
BindingOperations.SetBinding(textbox, TextBox.TextProperty, b);
Xamll
<TextBox Margin="10" Height="40" x:Name="textbox"></TextBox>
2
C#
text.SetBinding(TextBox.TextProperty, new Binding("Name") { Source = per });
Xaml
<TextBox Margin="10" Height="40" x:Name="text"></TextBox>
3
C#
InitializeComponent();
box.DataContext = per;
Xaml
<TextBox Margin="10" Height="40" Text="{Binding Name}" x:Name="box"></TextBox>
其中Text="{Binding Name}"与Text="{Binding Path=Name}"
WPF之Binding的三种简单写法的更多相关文章
- 整理:WPF中Binding的几种写法
原文:整理:WPF中Binding的几种写法 目的:整理WPF中Bind的写法 <!--绑定到DataContext--> <Button Content="{Bindin ...
- iOS开发UI篇—iOS开发中三种简单的动画设置
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...
- 三种简单的html网页自动跳转方法
三种简单的html网页自动跳转方法,可以让你在打开一个html网页时自动跳转到其它的页面. 方法/步骤 <html> <head> <title>正在跳转< ...
- js中的三种函数写法
js中的三种函数写法 <script type="text/javascript"> //普通的声明方式 function myFun(m,n){ alert(m+n) ...
- 表单模糊查询的三种简单方式(springboot-h2-mybatis)
前几天运营提到说后台管理系统有几个地方想要模糊查询.. 想了下是简单的,就是要注意以前方法的被调用情况,进行增量改动,以免牵一发而动全身.整理一波记录下(本次案例是按名字模糊查询学生信息). 三种 ...
- jquery 三种开始写法
在 jquery 代码中使用 $(document).ready()时,位于其中的所有代码都会在 DOM 加载后立即执行 第一种(推荐)$(document).ready(function(){ ...
- UITableView设置单元格选中后只显示一个打勾的三种简单方法(仅供参考)
1.第一种方法:先定位到最后一行,若选中最后一行直接退出,否则用递归改变上次选中的状态,重新设置本次选中的状态. - (UITableViewCell*)tableView:(UITableView* ...
- java倒计时三种简单实现方式
写完js倒计时,突然想用java实现倒计时,写了三种实现方式 一:设置时长的倒计时: 二:设置时间戳的倒计时: 三:使用java.util.Timer类实现的时间戳倒计时 代码如下: package ...
- Git的使用--如何将本地项目上传到Github(三种简单、方便的方法)
一.第一种方法: 1.首先你需要一个github账号,所以还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路(傻瓜式安装) ...
随机推荐
- poj1007 qsort快排
这道题比较简单,但通过这个题我学会了使用c++内置的qsort函数用法,收获还是很大的! 首先简要介绍一下qsort函数. 1.它是快速排序,所以就是不稳定的.(不稳定意思就是张三.李四成绩都是90, ...
- Python学习笔记3-文件的简单操作
Python中的文件操作 Python中文件打操作离不开两个模块 os 和 shutil os:操作文件.目录: Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话, ...
- SqlServer mssql 按月统计所有部门
以订单统计为例,前端展示柱状图(Jquery统计): 表及主要字段描述如下:表名:Orders1.日期CreateTime2.金额Amount3.用户UserID 情况一:根据部门统计某一年每月销量( ...
- OCP-1Z0-053-V12.02-501题 【转】
http://blog.csdn.net/rlhua/article/details/12225237 501.Note the output of the following query; SQL& ...
- 在PreparedStatement中设置空值
在PreparedStatement中设置空值 分类: Work& Study java2009-09-10 09:56 922人阅读 评论(0) 收藏 举报 nulltypes数据库 ...
- boost json生成和解析用法
json c++库还是有很多的,因为工作上经常使用boost,这里选用boost的json,记录下用法. 举个栗子: 如果我们要生成如下格式的json: { "name":&quo ...
- velocity 字符串 转化为数字
#set($nPageIndex=$request.getParameter("nIndex")) #set($Integer = 0 ) #set($FrontPageSize= ...
- Unhandled Exxception “Unhandled exception type IOException”?
Unhandled Exxception “Unhandled exception type IOException”? 在Android studio中,自动遇见这个异常报错,如果eclipse会 ...
- getActionBar().setTitle(); Java.lang.NullPoint异常解决方案
getActionBar().setTitle(); Java.lang.NullPoint异常解决方案,是由于低版本不支持直接获取的缘故,修改方案: try changing your theme ...
- Selenium自动化测试(java语言)
Selenium介绍 Selenium 1.0 包含 core. IDE. RC. grid 四部分, selenium 2.0 则是在两位大牛偶遇相互沟通决定把面向对象结构化( OOPP) 和便于 ...