在用户控制中访问主程序的数据源

本文关键字:主程序 数据源 访问 用户 控制 | 更新日期: 2023-09-27 18:16:45

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

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

现在我有一个问题,即网格和LoadData事件在用户控件中,而数据源在主程序中。所以在用户控件中数据源是未定义的。我认为这是可以的,因为您不单独运行用户控件,一旦它在主程序中使用,数据源应该可用于LoadData事件。然而,当数据源未知时,似乎不可能生成.dll。

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

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

非常感谢!

在用户控制中访问主程序的数据源

我不知道你想要什么样的答案(有多详细),但我认为这是一个很好的例子:

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

我会尝试分离类,将执行负责创建ViewModel的逻辑。控件(在您的目的中是网格)将始终绑定到这个ViewModel,并且该控件将在不同的视图中重用。根据它的放置位置,您可以在必要时添加一些附加功能(Decorator设计模式)。