求助:关于WPF界面中同步显示数据库中查到的数据的问题 10

求助大神,问题如下下面的界面打开时,所有文本框的值都显示不出来,下面的代码都是以姓名旁边的textBox为例来说明的。但是如果在Window_Loaded中的所有代码执行... 求助大神,问题如下
下面的界面打开时,所有文本框的值都显示不出来,下面的代码都是以姓名旁边的textBox为例来说明的。但是如果在Window_Loaded中的所有代码执行之前加上一个MessageBox.Show("随便一个字符"),此时界面中所有的textBox都能将从数据库中查到的数据正确显示出来,这到底是个什么情况呢,百思不得其解。不要告诉我用数据绑定的方式哦,我现在就是想知道下面为什么会出现我遇到的这个问题,谢谢!!!

UI如下

代码简化如下所示:(以姓名对应的textbox为例)

private void Window_Loaded(object sender, RoutedEventArgs e)
{
//A处,此处如果添加一个MessageBox.Show("随便一个字符");的话在界面打开时就能显示文本
Customer customer = new CustomerDAL().GetById(2);
txtName.Text = customer.Name;
......
}
CustomerDAL的定义如下
class CustomerDAL
{
public Customer GetById(long id)
{
DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Id=@Id",
new SqlParameter("@Id", id));
DataRow row = dt.Rows[0];
Customer cust = new Customer();
cust.Name = (string)row["Name"];
return cust;
}
}
SqlHelper类如下
static class SqlHelper
{
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameters);
DataSet dataset = new DataSet();
SqlDataAdapter apdater = new SqlDataAdapter(cmd);
apdater.Fill(dataset);
return dataset.Tables[0];
}
}
}
}
Customer类定义如下:(即使让该类实现INotifyPropertyChanged接口问题依然如此)
class Customer
{
public string Name{set;get;}
}
展开
 我来答
阳光的雷咩咩
2014-05-27 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7884万
展开全部
“如果在Window_Loaded中。。。数据正确显示出来”
----这句话具体一点,不要说随便一个字符,说弹出消息框的内容是customer.Name的话,能正确弹出?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式