0

我想编写一个使用多个选项卡的程序,每个选项卡都显示一个数据网格。所有网格的数据都存储在一个数据源中。除了列数/行数和值之外,每个选项卡应该看起来相同。

所以我现在试图将网格视图放入用户控件并创建一个.dll。如果添加了选项卡,我将用户控件放入其中 - 这已经有效。网格在虚拟模式下工作,如果创建了新的选项卡/网格,它会调用事件将数据加载到网格中。

现在我的问题是网格和 LoadData 事件在用户控件中,而数据源在我的主程序中。所以在用户控制中,数据源是未定义的。我认为这没问题,因为您不单独运行用户控件,并且一旦在主程序中使用它,数据源应该可用于 LoadData 事件。但是,在数据源未知的情况下,似乎无法生成 .dll。

另一方面,我不想将数据源放入用户控件中,因为每次创建新选项卡时都会复制它。

我希望你能给我一个提示,什么是实现它的最佳方法。

非常感谢!

4

1 回答 1

0

我不知道您期望什么答案(多详细),但我认为这是一个很好的例子:

  • 重用一个控件
  • 使用 MVVM 架构模式

我会尝试将执行负责创建 ViewModel 的逻辑的类分开。控件(您的目的中的网格)将始终绑定到此 ViewModel,并且此控件将在不同的视图中重用。取决于它的放置位置,如果需要,您可以添加一些附加功能(装饰器设计模式)。如果您期望比抱歉更详细(非概念性)的解决方案。

于 2013-06-04T09:02:13.957 回答