假设您有两个窗口,其中一个窗口有一个列表框,而另一个窗口应该有当前在列表框中选择的项目的详细信息。在一个窗口中这很容易做到,但是如何在两个窗口中做到这一点?不幸的是,这里只有两个窗口。
anon-user79
问问题
284 次
1 回答
3
假设它们都是同一个应用程序的一部分,那么必须有某种类型的父容器。
带有列表框的窗口是详细信息窗口的父窗口,或者有一个窗口同时拥有它们。
无论如何,这只是将对象从一个窗口传递到另一个窗口的问题。
例如,您的对象名为 foo,并具有以下参数:fooA、fooB、fooC、fooD。
因此,列表框的数据上下文是一个 observablecollection(of foo)。当用户双击列表框项目之一时,列表框的 selectedItem 是 foo 对象之一。考虑到这一点,您可以通过直接传递 [myWindow.LoadFooForEditing(myFoo)] 或通过向列表框窗口的所有者引发事件并让它传递数据来将其提供给您的详细信息窗口。
如果它们是两个独立的应用程序,那么您需要开始考虑诸如远程处理或 MSMQ 之类的东西作为在两个应用程序之间传递信息的工具。
于 2009-04-01T19:01:01.933 回答