网站开发获取用户微信号登录,pis粉丝做的网站,浙江网站建站,wordpress设置用户注册思路是这样的#xff0c;数组集合装表头的信息#xff0c;遍历这个集合#xff0c;遍历过程中处理一下数据#xff0c;然后就把每表头信息添加到dataGrid2.Columns.Add(templateColumn);
1#xff0c;页面Xaml代码#xff1a; DataGrid x:NamedataGrid … 思路是这样的数组集合装表头的信息遍历这个集合遍历过程中处理一下数据然后就把每表头信息添加到dataGrid2.Columns.Add(templateColumn);
1页面Xaml代码 DataGrid x:NamedataGrid ItemsSource{Binding DataSource} AutoGenerateColumnsFalse ColumnHeaderHeight30 RowHeight30/
2声明一个类
public class TY_DataGridColumsHeader
{public string Name { get; set; }public object HeaderTitle { get; set; }public object IsVisible { get; set; }
}
3声明表头数据集合再遍历。
#region 自己创建的DataGrid表头var dpDescriptor2 System.ComponentModel.DependencyPropertyDescriptor.FromProperty(DataGrid.ItemsSourceProperty, typeof(DataGrid));ObservableCollectionTY_DataGridColumsHeader listheadttile new ObservableCollectionTY_DataGridColumsHeader();listheadttile.Add(new TY_DataGridColumsHeader(){HeaderTitle 名称,Name Name});listheadttile.Add(new TY_DataGridColumsHeader(){HeaderTitle 年龄,Name Age});dpDescriptor2.AddValueChanged(dataGrid2, (s, e) {dataGrid2.Columns.Clear();foreach (var item in listheadttile){var templateColumn new DataGridTemplateColumn(){Header item.HeaderTitle,CellTemplate (DataTemplate)XamlReader.Parse(GetCellTemplateXaml2(item.Name))};dataGrid2.Columns.Add(templateColumn);}});#endregion
4cell的模版
public static string GetCellTemplateXaml2(string listheadttile){var templateStr DataTemplate xmlns\http://schemas.microsoft.com/winfx/2006/xaml/presentation\ xmlns:x\http://schemas.microsoft.com/winfx/2006/xaml\;//templateStr GridGrid.ColumnDefinitionsColumnDefinition Width\*\ /ColumnDefinition Width\Auto\ //Grid.ColumnDefinitions;//templateStr $UniformGrid Columns\{(hasFlag ? cellBindingList.Count - 1 : cellBindingList.Count)}\;//cellBindingList.ForEach(a //{// if (!hasFlag || a ! cellBindingList.Last())// {// templateStr TextBlock Margin\10 0 10 0\ Text\{Binding a }\ VerticalAlignment\Center\ HorizontalAlignment\Center\ /;// }//});//templateStr /UniformGrid;//if (hasFlag)//{// templateStr TextBlock Grid.Column\1\ Text\{Binding cellBindingList.Last() }\ Width\50\ TextAlignment\Center\ VerticalAlignment\Center\ HorizontalAlignment\Center\ /;//}templateStr Grid;templateStr TextBlock Margin\10 0 10 0\ Text\{Binding listheadttile }\ VerticalAlignment\Center\ HorizontalAlignment\Center\ /;templateStr /Grid/DataTemplate;return templateStr;}