我在两个不同的WPF表单中有相同的ListView。第一个表单打开第二个表单。当我将同一DataSet和DataTable作为DataSource分配给两个ListView时,只有当DataTable中的数据发生更改时,第一个更新。如果我将DataSource赋值删除到第一个Form ListView,则第二个Form ListView会更新。
作业代码是,
WatchListListView.ItemsSource = MyProjectDataManager.myStockDataSet.Tables["InternalWatchListTable"].AsDataView();
MyProjectDataManager是一个持久的C#类,它包含并维护我的内部DataTable。
如何让两个ListViews都更新?
答案 0 :(得分:1)
这不是真实的"回答,但我还有更多话要说,而不是评论。
首先,程序问题。您不是绑定到DataTable,而是绑定到该表的DataView。这不是一件坏事,因为你应该能够创建一个表的多个DataView并使它们保持同步。这就是他们的目标。
其次,要真正提供帮助,我们需要的不仅仅是您提供的代码。如果我们可以比较第一个ListView上的绑定来确认它们实际上是同一个表,那么它会有所帮助。如果我们能够在MyProjectDataManager中看到实际代码(至少是相关位),也不会受到伤害。
您可以尝试进一步调试的事项:
答案 1 :(得分:0)
请提供代码以便更好地了解以下步骤可能有效,但您可能不喜欢。 1-以第二种形式定义公共函数并将ListView绑定在其中。 2-从第1个表单编辑后调用第2个表单公共函数,其中ListView将重新绑定 -