using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace SilverlightApplication90 { public partial class MainPage : UserControl { private DataGrid TestDataGrid = null; public MainPage() { InitializeComponent(); TestDataGrid = new DataGrid(); TestDataGrid.AutoGenerateColumns = true; TestDataGrid.SizeChanged += new SizeChangedEventHandler(TestDataGrid_SizeChanged); LayoutRoot.Children.Add(TestDataGrid); this.Loaded += new RoutedEventHandler(MainPage_Loaded); } /// <summary> /// 当DataGrid的Size改变时触发事件,使第二列的宽度填充DataGrid剩余的空间。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void TestDataGrid_SizeChanged(object sender,SizeChangedEventArgs e) { double dataGridWidth = TestDataGrid.ActualWidth; double otherColumnsWidth = TestDataGrid.Columns[0].ActualWidth; double borderThickness = TestDataGrid.BorderThickness.Left + TestDataGrid.BorderThickness.Right; TestDataGrid.Columns[1].Width = new DataGridLength(dataGridWidth - otherColumnsWidth - borderThickness); } void MainPage_Loaded(object sender,RoutedEventArgs e) { List<Student> items = GetStudents(); TestDataGrid.ItemsSource = items; } /// <summary> /// 获取数据源 /// </summary> /// <returns></returns> private List<Student> GetStudents() { List<Student> items = new List<Student>(); for (int i = 0; i < 20; i++) { items.Add(new Student(i,"张三" + i)); } return items; } } public class Student { public Student() { } public Student(int _studentID,string _studentName) { this.StudentID = _studentID; this.StudentName = _studentName; } private int studentID; public int StudentID { get { return studentID; } set { studentID = value; } } private string studentName; public string StudentName { get { return studentName; } set { studentName = value; } } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。