您的位置:首页 > 其它

silverlight DataGrid模板列的动态生成

2011-06-20 17:44 387 查看
string strXaml = @" <DataTemplate xmlns='http://schemas.microsoft.com/client/2007'>
<Grid HorizontalAlignment='Center' VerticalAlignment='Center'>
<Grid.RowDefinitions>
<RowDefinition Height='35'></RowDefinition>
<RowDefinition Height='35'></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width='150'></ColumnDefinition>
<ColumnDefinition Width='150'></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text='Col1'></TextBlock>
<TextBlock Text='Col2' Grid.Column='1'></TextBlock>
{0}
</Grid>
</DataTemplate>";

StringBuilder sb = new StringBuilder();
int k = 0;
foreach (var item in this.objTableCaseTemplate.lstDBCaseItemTemplate)
{
if (k >= 2) break;
string tbn = "DB_" + item.PhyTbName;
string s = item.ItemName;
sb.AppendLine("<TextBox Text='{Binding Path=" + tbn + "." + s + ",Mode=TwoWay }' Grid.Column='" + k + "' Grid.Row='1'/>");
k++;
}

strXaml = string.Format(strXaml, sb.ToString());

DataTemplate dtTemplate = (DataTemplate)XamlReader.Load(strXaml);

DataGridTemplateColumn tmpCol = new DataGridTemplateColumn();
tmpCol.Header = "某个组";
tmpCol.CellTemplate = dtTemplate;
this.dataGridCaseList.Columns.Add(tmpCol);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: