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 博客 ...
随机推荐
- 转载——SQL Server数据库性能优化之SQL语句篇
转载自:http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html 1. 按需索取字段,跟“SELECT *”说拜拜 字段的提取一 ...
- SQL流程控制语句学习(三):while break continue
1.while语法 while 布尔表达式 {sql语句或语句块} break --跳出本层循环 {sql语句或语句块} continue --跳出本次循环 {sql语句或语句块} 2.whi ...
- android sax解析xml 文件 动态加载标题
要解决一个问题 : 问题描述为 把标题动态的加载到 listView子布局中 我们首先通过 java程序写一个把标题写到xml文件的程序.这个程序会在以后讲解. 现在截图 已经写好的xm文件格式如下 ...
- php连接mysql的一些方法总结
为了能让PHP连接MSSQL,系统需要安装MSSQL,PHP,且在PHP.ini中的配置中,将 ;extension=php_mssql.dll前面的;去掉 1.连接MSSQL ...
- hdu 5188
it's a dp difficult problem 试想如果我们遇见这样一道题,: 有n道题目,每道题有一个得分v和用时t: 我们要得够w分:用时最少 怎么做?? 这是一个裸奔的01背包 如 ...
- HTML&CSS基础学习笔记1.22-简单的注册页面
一个简单的注册页面 表单提交是前后端数据交互的一种方式. 代码区是一个注册页面,其中包含了以下标签:<form>.<table>.<input>.<butto ...
- C语言初学 使用while语句统计输入字符个数
#include<stdio.h> main() { int n=0; printf("输入任意个数的字符:\n"); while(getchar()!='\n')n+ ...
- fontresize 移动端的手机字体 大小设置
这段js 需要置于页面上端 也就是 需要先加载js然后加载页面 (这段js是原生js而且比较短小 基本对页面加载速度无影响) FontResize : function(maxWidth){ (fun ...
- iPhone开发 数据持久化总结(终结篇)—5种数据持久化方法对比
iPhone开发 数据持久化总结(终结篇)—5种数据持久化方法对比 iphoneiPhoneIPhoneIPHONEIphone数据持久化 对比总结 本篇对IOS中常用的5种数据持久化方法进行简单 ...
- JQuery的插件
最近需要修改ftl文件,使用一般的freemarker插件不能有效处理里边的部分JQuery内容,所以特地下载了一个Spket插件, 地址为 http://www.agpad.com/update 再 ...