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到指定的路径下,例子很简单,用的着的直接用 ...
随机推荐
- MatConvNet中关于vl_simplenn_display的一些分析
一.关于各层data size的分析 layer1: floor((224-7)/2)+1=109 这里7是filter大小,2是stride layer4: floor((109+0+1-3)/2 ...
- Pyhanlp自然语言处理中的新词识别
新词发现 本“新词发现”模块基于信息熵和互信息两种算法,可以在无语料的情况下提取一段长文本中的词语,并支持过滤掉系统中已存在的“旧词”,得到新词列表. 调用方法 静态方法 一句话静态调用接口已经封装到 ...
- linux lvm create and manager
http://blog.51cto.com/dreamfire/1084729 https://www.cnblogs.com/xiaoluo501395377/archive/2013/05/24/ ...
- python cntl使用
import sys 2 import time 3 import fcntl 4 5 class FLOCK(object): 6 7 def __init__(self, name): 8 sel ...
- 最新证明面临质疑:P/NP问题为什么这么难?
转自:http://tech.sina.com.cn/d/2017-08-16/doc-ifyixias1432604.shtml 编译 | 张林峰(普林斯顿大学应用数学专业博士研究生) 责编 | 陈 ...
- JTextArea利用JScrollpane增加文本域滚轮(滚动条)
JTextArea加滚轮的几种方法 JTextArea txaDisplay = new JTextArea(); JScrollPane scroll = new JScrollPane(txaDi ...
- Excel导出文件流下载
Controller.cs @CrossOrigin(allowCredentials="true", allowedHeaders="*", methods= ...
- Java 内存溢出(java.lang.OutOfMemoryError)情况总结
最近做一个项目,因为分了十几个模块,但是每次在Eclipse中启动Tomcat必须加载四五个模块,这样出现了 java.lang.OutOfMemoryError 原因是Eclipse中Tomcat设 ...
- Hive之一:hive2.1.1安装部署
一.Hive 运行模式 与 Hadoop 类似,Hive 也有 3 种运行模式: 1. 内嵌模式 将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式.但是这种方式缺点也比 ...
- [UE4]Actor的Destroyed事件