C#WPF字母数字单元格返回空

C#WPF字母数字单元格返回空,c#,wpf,datagrid,cell,string,C#,Wpf,Datagrid,Cell,String,我想在编辑数据网格的行时,从数据网格更新MySql中的一些数据。问题是,包含字母和数字字符的单元格在获取值时返回空值 我使用以下代码: TextBlock txt = dgwDataMain.Columns[dgwDataMain.Columns.IndexOf(col)].GetCellContent(dgwDataMain.Items[e.Row.GetIndex()]) as TextBlock; value += col.Header + "<&p>" + txt.T

我想在编辑数据网格的行时,从数据网格更新MySql中的一些数据。问题是,包含字母和数字字符的单元格在获取值时返回空值

我使用以下代码:

TextBlock txt = dgwDataMain.Columns[dgwDataMain.Columns.IndexOf(col)].GetCellContent(dgwDataMain.Items[e.Row.GetIndex()]) as TextBlock;
value += col.Header + "<&p>" + txt.Text + "</s&p>";

可怜的、糟糕的、可怕的想法;是时候重新设计了。考虑实体框架,或者在UI和数据库之间封装某种数据。永远不要直接从UI向DB发送数据。用户将在实时更新的表上工作。当他们编辑一个单元格时,数据应该被更新到MySql中。这不是使用最广泛建议的方法来实现它的理由。在一个实现良好的应用程序中,用户界面和数据库之间有好几层。至少您应该已经封装了数据模型,可以通过UI直接更新并传递。这让你可以做一些奇怪的事情。。。像验证、缓存、数据访问操作分组一样,我提到过验证吗?你的应用程序将尖叫SQL注入我什么都不懂:)我可以看到:)。基本上,您不想让用户使用您的表单,而是在其名称列中输入“;从MYDATABASE的表中删除*”,而不是“John”。了解实体框架,它很容易用于基本的东西,它可以从数据库(或其他方式)为您生成一个模型
foreach (Fields field in fields)
                {
                    DataGridTextColumn column = new DataGridTextColumn();
                    column.Header = field.name;
                    column.Binding = new Binding(field.name) { Mode = BindingMode.TwoWay };
                    dgwDataMain.Columns.Add(column);
                }