WPF DataGrid的创建,前台代码构建,后台代码构建
2014-01-06 18:12
281 查看
1 前台代码
2 引用到的类
3 后台代码
<Window x:Class="DataGridTemplate.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="925" Loaded="Window_Loaded"> <Window.Resources> </Window.Resources> <Grid Margin="0,0,-8,0"> <DataGrid x:Name="myGrid" AutoGenerateColumns="False" HorizontalAlignment="Left" Margin="0,37,0,0" VerticalAlignment="Top" Width="760" Height="122"> <DataGrid.Columns > <DataGridTextColumn Header="编号" Width=" 80" Binding="{Binding id,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged }"></DataGridTextColumn> <DataGridTextColumn Header=" 姓名" Width=" 80" Binding="{Binding name,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></DataGridTextColumn> <DataGridTextColumn Header=" 年龄" Width=" 80" Binding="{Binding age,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></DataGridTextColumn> <DataGridTemplateColumn Header=" 姓名" Width="80" > <DataGridTemplateColumn.CellTemplate > <DataTemplate> <StackPanel > <TextBlock Text="{Binding name}" Background="Yellow" ></TextBlock> <TextBlock Text="{Binding age}" Background="YellowGreen" ></TextBlock> </StackPanel> </DataTemplate> </DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellEditingTemplate > <DataTemplate> <ComboBox x:Name="cboName" ItemsSource ="{Binding name}"> </ComboBox> </DataTemplate> </DataGridTemplateColumn.CellEditingTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> </Grid> </Window>
2 引用到的类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DataGridTemplate { class ClsPerson { public string id { get; set; } public string name { get; set; } public int age { get; set; } } }
3 后台代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace DataGridTemplate { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { List<ClsPerson > list=new List<ClsPerson> (); ClsPerson p1=new ClsPerson (); ClsPerson p2=new ClsPerson (); p1.id = "1"; p1.name = "harden"; p1.age = 18; p2.id = "2"; p2.name = "jimmy"; p2.age = 20; list.Add(p1); list.Add(p2); myGrid.ItemsSource = list; //********************************************************* DataGridTextColumn objColumn = new DataGridTextColumn(); objColumn.Header = "后台创建年龄列"; objColumn.Width = 80; objColumn.Binding = new Binding("age"); myGrid.Columns.Add(objColumn); //******************************************************************************* DataGridTemplateColumn objTemColumn = new DataGridTemplateColumn(); DataTemplate objTem = new DataTemplate(); StackPanel objStackPanel = new StackPanel(); TextBlock objTextBlock = new TextBlock(); FrameworkElementFactory spFactory = new FrameworkElementFactory(typeof(StackPanel)); spFactory.Name = "myComboFactory"; spFactory.SetValue(StackPanel.OrientationProperty, Orientation .Vertical ); FrameworkElementFactory myTextBlock = new FrameworkElementFactory(typeof(TextBlock)); myTextBlock.SetBinding(TextBlock.TextProperty, new Binding("age")); spFactory.AppendChild(myTextBlock); FrameworkElementFactory myTextBlock2 = new FrameworkElementFactory(typeof(TextBlock)); myTextBlock2.SetBinding(TextBlock.TextProperty, new Binding("name")); spFactory.AppendChild(myTextBlock2); objTem.VisualTree = spFactory; objTemColumn.CellTemplate = objTem; objTemColumn.Header = "后台创建姓名模板列"; objTemColumn.Width = 80; myGrid.Columns.Add(objTemColumn); } } }
相关文章推荐
- wpf 根据DataTable在后台自动创建DataGrid,而且可以对数据进行初步处理,显示差异
- WPF使用后台C#代码创建Grid
- silverlight/wpf 通过后台创建datagrid模版列
- F# 与 WPF 二 之使用纯后台代码创建WPF窗体
- 构建施耐德楼控系统数据库后台服务器示例工程—(工程创建)
- 代码生成的思考:MyMeta提供数据库架构,反射、Emit提供构建的提供动态创建的环境
- 前台调用后台代码
- C#前台js调用后台代码和后台代码调用前台js
- Silverlight实用窍门系列:20.后台CS代码中创建四种常用的动画效果【附带源码实例】
- 代码创建 WPF 旋转动画
- 只使用代码创建WPF应用程序
- wpf动态创建DataGrid
- 三层及winform前台页面 XmlHelper.cs Sqlhelper.cs AbstractSqlHelper.cs Com.cs 分页控件的后台代码
- 后台代码创建Table
- Asp.Net_后台代码访问前台html标签
- .net中前台javascript与c#后台代码调用
- ASP.NET前台代码绑定后台变量方法总结
- 在VS 2005后台代码中创建用户控件
- JS和CS互访【后台前台代码调用JavaScript变量以及JavaScript调用代码变量】
- ASP.NET前台代码绑定后台变量方法总结