0

我有一个列表框,其中列出了用户详细信息,并且在选择时会在用户详细信息窗口的新实例中打开该用户详细信息

using UserDetailWin udw = new UserDetailWindow(); 
udw.show();

窗口中的组合框由共享的 CollectionViewSource 填充,SelectedValue 是通过 TwoWay 绑定完成的。

问题是当我打开多个 UserDetailWin 并在其中一个中更改组合框选择时,所有其他人都获得该选定的 id。

有人知道我在做什么错吗?

提前致谢

基尔

4

2 回答 2

1

这是正常行为。如果您了解对象引用,那么您自己应该很容易弄清楚。

CollectionViewSource要解决此问题,您应该为每个组合框创建新实例。

于 2012-05-02T15:18:33.580 回答
0

您对所有打开的窗口使用相同的 DataContext。使新窗口的选定用户DataContext 并直接绑定所有变量(通过设置UserDetailWin 的DataContext 属性)。

于 2012-05-02T15:23:05.233 回答