WPF DataGrid 之数据绑定--实例2
1.前台Grid定义
<!--数据绑定-->
<DataGrid Grid.Row="1"
Name="gridOne" Margin="10"
ColumnWidth="150"
AlternatingRowBackground="Linen"
AutoGenerateColumns="False"
>
<DataGrid.Columns>
<DataGridTextColumn Header="域名全称" Binding="{Binding HostName ,Mode=OneWay}"/>
<DataGridTextColumn Header="IP地址" Binding="{Binding IP,Mode=OneWay}"></DataGridTextColumn>
<DataGridCheckBoxColumn Header="是否启用" Binding="{Binding IsEnable,Mode=OneWay}" Width="80">
</DataGridCheckBoxColumn>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="删除"
Width="100"
Click="Button_Click_1"
Uid="{Binding IP ,Mode=OneWay}"
ContentStringFormat="{Binding HostName,Mode=OneWay}">
</Button> <!--Button 绑定显示内容-->
<!--<Button
Width="100"
Click="Button_Click_1">
<Button.Content>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}-{1}">
<Binding Path="IP"/>
<Binding Path="HostName"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Button.Content>
</Button>--> <!--TextBox 绑定显示内容-->
<!--<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}-{1}">
<Binding Path="IP"/>
<Binding Path="HostName"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>--> </DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
2.后台代码处理
HostsHelper _helper = new HostsHelper();
public MainWindow()
{
InitializeComponent();
//绑定列表
Rebind();
}
//添加域名和IP绑定
private void Button_Click(object sender, RoutedEventArgs e)
{
string ip = txtIp.Text;
string hostname = txtHostName.Text;
if (string.IsNullOrEmpty(hostname))
{
txtHostName.Focus();
ShowResult("请输入域名");
return;
}
if (string.IsNullOrEmpty(ip))
{
txtIp.Focus();
ShowResult("请输入IP地址");
return;
} //添加结果
_helper.Add(new HostData(true, ip, hostname));
MessageBox.Show("添加成功");
//重新绑定
Rebind();
}
//重新绑定结果
public void Rebind()
{
gridOne.ItemsSource = _helper.HostDatas;
gridOne.Items.Refresh();
}
//显示结果
public void ShowResult(string str)
{
Result.Content = str;
}
//删除内容
private void Button_Click_1(object sender, RoutedEventArgs e)
{
Button btn = sender as Button;
MessageBoxResult result = MessageBox.Show("确定要删除吗?", "提示", MessageBoxButton.YesNo);
if (result == MessageBoxResult.Yes)
{
_helper.Remove(new HostData(true,btn.Uid.ToString(),btn.ContentStringFormat.ToString()));
Rebind();
}
}
WPF DataGrid 之数据绑定--实例2的更多相关文章
- DataGrid 简单数据绑定实例1
1.默认数据显示(自动显示列) 后台绑定 //DataGrid 数据绑定 dataGridOne.ItemsSource = _Context.Info.ToList(); 前台定义 <Data ...
- DataGrid简单数据绑定实例2
1.Image列显示: 后台绑定: //获取文件夹下的图片 string path = @"K:\Picture\jpg"; private void Button_Click(o ...
- WPF DataGrid 之数据绑定
1. Auto generation of columns 最简单的方法莫过于让DataGrid根据数据源中的字段自动生成列了: 根据实体类的公共属性, 能够自动生成四种类型的数据列,对应关系如下: ...
- WPF入门教程系列十五——WPF中的数据绑定(一)
使用Windows Presentation Foundation (WPF) 可以很方便的设计出强大的用户界面,同时 WPF提供了数据绑定功能.WPF的数据绑定跟Winform与ASP.NET中的数 ...
- WPF DataGrid常用属性记录
WPF DataGrid常用属性记录 组件常用方法: BeginEdit:使DataGrid进入编辑状态. CancelEdit:取消DataGrid的编辑状态. CollapseRowGroup:闭 ...
- WPF中的数据绑定!!!
引用自:https://msdn.microsoft.com/zh-cn/magazine/cc163299.aspx 数据点: WPF 中的数据绑定 数据点 WPF 中的数据绑定 John Pap ...
- WPF学习之数据绑定
WPF中的数据绑定提供了很强大的功能.与普通的WinForm程序相比,其绑定功能为我们提供了很多便利,例如Binding对象的自动通知/刷新,Converter,Validation Rules,Tw ...
- 编写 WPF DataGrid 列模板,实现更好的用户体验
Julie Lerman 下载代码示例 最近我在为一个客户做一些 Windows Presentation Foundation (WPF) 方面的工作. 虽然我提倡使用第三方工具,但有时也会避免使用 ...
- WPF DataGrid 控件的运用
WPF DataGrid 控件的运用 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-23 参考: King Cobra 博客 ...
随机推荐
- DOM中的NodeList与HTMLCollection
最近在看<Javascript高级程序设计>的时候,看到了这样一句话:“理解NodeList和HTMLCollection,是从整体上透彻理解DOM的关键所在.”,所以觉得应该写一篇关于N ...
- 在div+css中用到的js代码注意return
今天做了一个项目,美工做好后放在了form中(没有加runat=server),由于用到了服务器控件,所以这里要加,否则报错,关键一段div代码是: <form id="form_re ...
- C#Graphics画图
public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { G ...
- Jmeter实现WebSocket协议的接口和性能测试方法
WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex). 浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一 ...
- SQL如何查询两个表的数据
在进行查询操作时,我们通常需要查询两个关联表的数据,我们可以使用where语句进行查询,如: select Emp.E_Id,Company.C_OraName from Emp,Company wh ...
- z-index 所遇问题
document.getElementById('wx_share_img').style.cssText = "width:100%;height:100%;position:fixed; ...
- iOS App 自定义 URL Scheme 设计(转自COCOACHINA)
在 iOS 里,程序之间都是相互隔离,目前并没有一个有效的方式来做程序间通信,幸好 iOS 程序可以很方便的注册自己的 URL Scheme,这样就可以通过打开特定 URL 的方式来传递参数给另外一个 ...
- jquery+ajax分页
先看效果图:
- BZOJ1132: [POI2008]Tro
1132: [POI2008]Tro Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 815 Solved: 211[Submit][Status] ...
- 【转】Ubuntu 10.04 LTS 的窗口控制按钮从左上角调整到右上角
原文网址:http://www.linuxidc.com/Linux/2010-05/26111.htm 升级到Ubuntu 10.04后最大的问题,是最小最大和关闭按钮,放到了左边.这叫Ubuntu ...