通过Tag属性可以设置自定义的数据,使用GetCellContent方法可以到单元格内的控件,所以就可以得到你点击的是哪一行了。点击的 *** 作就很容易了。
下面的是全部的源代码
Page,xaml
using System; using System.Collections.Generic; using System.windows; using System.windows.Controls; namespace DataGrIDSnippets { public partial class Page : UserControl { public Page() { InitializeComponent(); //绑定数据 dataGrID1.ItemsSource = Customer.GetSampleCustomerList(); } private voID dataGrID1_LoadingRow(object sender, DataGrIDRowEventArgs e) { Customer bindData = (Customer)e.Row.DataContext; button btn = dataGrID1.Columns[3].GetCellContent(e.Row).Findname("button1") as button; btn.Content = bindData.Username; btn.Tag = bindData.Indexname + "," + e.Row.GetIndex(); } private voID button1_Click(object sender, RoutedEventArgs e) { button b = sender as button; string[] t = b.Tag.ToString().Split(','); msg.Text = "你选择的值是:" + t[0] + " 是 DataGrID 的第 " + t[1] + " 行"; } } /// <summary> /// 数据对象 /// </summary> public class Customer { public Int32 Indexname { get; set; } public String Username { get; set; } public String Address { get; set; } public Customer(Int32 indexname, String username, String address) { this.Indexname = indexname; this.Username = username; this.Address = address; } public static List<Customer> GetSampleCustomerList() { //示例数据 List<Customer> data = new List<Customer>(); for(int i = 0;i<10;i++) { data.Add(new Customer(i*i, "孟宪会之" + i.ToString(), "地址之" + i.ToString())); } return data; } } }
本文基于Silverlight 2.0正式版。
总结以上是内存溢出为你收集整理的Silverlight 2.0 中 DataGrid得到模板列中的按钮,并得到所点击的行号和键值全部内容,希望文章能够帮你解决Silverlight 2.0 中 DataGrid得到模板列中的按钮,并得到所点击的行号和键值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)