WPF简单数据绑定
XAML:
<!--#region 数据绑定控件-->
<DataGrid x:Name="dataGrid" Grid.Column="2" Grid.ColumnSpan="4" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="编号" Width="*" Binding="{Binding Id}"></DataGridTextColumn>
<DataGridTextColumn Header="名称" Width="*" Binding="{Binding Name}"></DataGridTextColumn>
<DataGridTextColumn Header="时间" Width="*" Binding="{Binding CreateTime}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<!--#endregion-->
后台隐藏代码:
public partial class AllControl : Window
{ List<Users> usl = new List<Users>(); public AllControl()
{
usl.Add(new Users
{
Id = ,
Name = "maoyang",
CreateTime = DateTime.Now,
});
usl.Add(new Users
{
Id = ,
Name = "zhangfan",
CreateTime = Convert.ToDateTime("2018/7/30 8:30:00"),
});
usl.Add(new Users
{
Id = ,
Name = "kejing",
CreateTime = Convert.ToDateTime("2018/7/30 9:00:00"),
});
InitializeComponent();
} private void button1_Click(object sender, RoutedEventArgs e)
{
this.dataGrid.ItemsSource = usl;
} } public class Users
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime CreateTime { get; set; }
}
此时如果修改字段,UI界面数据不能实时更新,需要以下修改:
1:把类继承INotifyPropertyChanged这个接口,并实现接口,然后添加定义OnPropertyChanged方法
public class Users : INotifyPropertyChanged
{
private int id;
private string name;
private DateTime createTime; public int Id
{
get
{
return id;
} set
{
id = value;
OnPropertyChanged("Id");
}
} public string Name
{
get
{
return name;
} set
{
name = value;
OnPropertyChanged("Name");
}
} public DateTime CreateTime
{
get
{
return createTime;
} set
{
createTime = value;
OnPropertyChanged("CreateTime");
}
} public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
写一个修改列表中的字段事件:
/// <summary>
/// 点击更改按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Update_Click(object sender, RoutedEventArgs e)
{
#region
Users usi = usl.Where(x => x.Id == ).FirstOrDefault();
usi.Id = ;
usi.Name = "老虎";
usi.CreateTime = DateTime.Now;
#endregion
}
XAML修改按钮:
<!--#region 点击更改按钮-->
<Button x:Name="Update" Width="100" Height="30" Background="AntiqueWhite" VerticalAlignment="Center" HorizontalAlignment="Center" Content="点击更改按钮" Click="Update_Click"></Button>
<!--#endregion-->
此时点击这个修改的按钮,UI界面数据即可实时更新
WPF简单数据绑定的更多相关文章
- WPF简单入门总结
WPF简单总结 最近看了点关于WPF的东西,总结了点点入门的东西. XAML语法基础 1. 定义样式 <Window.Resources><!--窗体资源的定义--> < ...
- WPF:数据绑定总结(1) https://segmentfault.com/a/1190000012981745
WPF:数据绑定总结(1) visual-studio c# 1.3k 次阅读 · 读完需要 16 分钟 0 一.概念:什么是数据绑定? WPF中的数据绑定:是在应用程序 UI 与业务逻辑之间建立 ...
- 【翻译】使用Knockout, Web API 和 ASP.Net Web Forms 进行简单数据绑定
原文地址:http://www.dotnetjalps.com/2013/05/Simple-data-binding-with-Knockout-Web-API-and-ASP-Net-Web-Fo ...
- Knockout, Web API 和 ASP.Net Web Forms 进行简单数据绑定
使用Knockout, Web API 和 ASP.Net Web Forms 进行简单数据绑定 原文地址:http://www.dotnetjalps.com/2013/05/Simple-da ...
- wpf 导出Excel Wpf Button 样式 wpf简单进度条 List泛型集合对象排序 C#集合
wpf 导出Excel 1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGrid ...
- wpf Content数据绑定StringFormat起作用的原理和解决
原文:wpf Content数据绑定StringFormat起作用的原理和解决 <Window x:Class="WpfOne.Bind.Bind6" xmlns=" ...
- .NET CORE(C#) WPF简单菜单MVVM绑定
微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. .NET CORE(C#) WPF简单菜单MVVM绑定 阅读导航 本文背景 代码实现 本文参考 ...
- silverlight简单数据绑定3
3种数据绑定模式 OneTime(一次绑定) OneWay(单项绑定) TwoWay(双向绑定) OneTime:仅在数据绑定创建时使用数据源更新目标. 列子: 第一步,创建数据源对象让Person ...
- DataGrid列表信息保存为EXCEL到指定的路径 ---------继续DataGrid在WPF的数据绑定
一.许多WPF或者Winform程序在保存数据时,会以EXCEL或者文本的形式展现可视化界面的数据,本文就简单介绍下将DataGrid列表信息保存为EXCEL到指定的路径下,例子很简单,用的着的直接用 ...
随机推荐
- chmod修改权限
1.命令简介 chmod(Change mode) 用来将每个文件的模式更改为指定值.Linux/Unix 的档案调用权限分为三级 : 档案拥有者.群组.其他. u :目录或者文件的当前的用户 g : ...
- 大数据离线分析平台 用户数据Etl
Etl目标 解析我们收集的日志数据,将解析后的数据保存到hbase中.这里选择hbase来存储数据的主要原因就是: hbase的宽表结构设计适合我们的这样多种数据格式的数据存储(不同event有不同 ...
- 深入理解java虚拟机读后总结(个人总结记录)
1.jvm布局: jdk1.6版本JVM布局分为:heap(堆),method(方法区),stack(虚拟机栈),native stack(本地方法栈),程序计数器共五大区域. 其中方法区包含运行 ...
- VS2013编译Qt5.2.1 32位静态库debug-and-release版及结果分享
1. 下载zip源码,我下载的是qt-everywhere-opensource-src-5.2.1.zip这个文件. 2.安装python 3.解压缩qt-everywhere-opensource ...
- Feb 5 13:07:52 plugh rsyslogd-2177: imuxsock begins to drop messages from pid 12105 due to rate-limiting
FROM:https://www.nri-secure.co.jp/ncsirt/2013/0218.html SANSインターネットストームセンターのハンドラであるJohannes Ullrichが ...
- STL基础--基本介绍
为什么要使用C++标准库 /* * 为什么使用C++标准库: * 1. 代码重用,不用重新造轮子 * 2. 效率(快速,且使用更少的资源). 现代C++编译器经常对C++标准库的代码有优化 * 3. ...
- 一个关于WCF调用远程链接返回405错误不允许使用此方法的问题
最近在调试WCF的接口时一直返回“405不允许使用此方法”,这个问题困扰了大半天,网上查了各种办法,但是每个人遇到的问题不同还是不能解决. 最后无意之中发现问题所在,记录一下帮助后面的同学解决问题. ...
- Rstdio 中print中文乱码
在Consol中输入 Sys.setlocale("LC_ALL","Chinese") 即可
- Java-Runoob-高级教程-实例-方法:08. Java 实例 – break 关键字用法
ylbtech-Java-Runoob-高级教程-实例-方法:08. Java 实例 – break 关键字用法 1.返回顶部 1. Java 实例 - break 关键字用法 Java 实例 Ja ...
- Oracle之ora-01031 insufficient privileges
解决ora-01031insufficient privileges错误 解决system用户不能登录的问题 alter user system account unlock id ...