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; }
}
}
}silverlight datagrid列宽自动填充
最新推荐文章于 2022-08-25 17:43:23 发布
本文介绍了一个使用Silverlight实现的数据网格组件案例。该组件能够自动调整列宽,并填充剩余空间,确保良好的视觉效果。文章提供了完整的代码实现,包括事件处理和数据绑定。
44

被折叠的 条评论
为什么被折叠?



