几种形式的一个事件

时间:2013-01-21 11:08:37

标签: c# wpf forms events

我目前面临着一项微不足道的任务,但我想不出解决方案。

为了解释它应该如何运作的理论......

有一种身份验证形式。 http://prntscr.com/pwat5

此表单符合TabControl - > TabItemTabControl依次放置在组件Grid上。 实际上,通过单击authenticate并将登录表单更改为另一个表单,该键输入是一个事件。

这种形式的身份验证,我需要更多,我按照以下方式使用它并将表单数据放到特定组件中,结构如下所示:

Grid
 ListBoxItem
  MyAuthForm
   ... //Well, actually imposed on the rest of the crap form MyAuthForm

对于我的表单MyAuthForm的相同副本,我克隆了对象,更准确地说,我将ListBoxItem及其所有内容克隆到新对象,然后将其添加到组件Grid ,也就是说,得到一个新的克隆对象。

Grid
 ListBoxItem
  MyAuthForm
   ... //Well, actually imposed on the rest of the crap form 
 ListBoxItemСlone
  MyAuthFormСlone
   ... //And so on

但问题是我的原始对象带有各种事件,但克隆的对象无法传递原始事件中的某些事件。

如何解决这个问题?以某种方式克隆对象可以引用原始对象的事件吗?

总的来说,我尽可能地解释,我希望大多数可以访问概述我想要的东西,非常感谢你提出的任何提示和想法,第二天我遇到这个案子,到目前为止没有任何想法。

ps 在每个克隆对象的手册中,我无法为这种形式的身份验证创建事件绰绰有余,一切都必须快,所以唯一的选择是以某种方式引用已经存在的事件,wpf允许这种可能性吗?

1 个答案:

答案 0 :(得分:1)

也许既然您正在使用WPF,如果您将事件绑定到命令或任何其他机制,那么克隆窗口,给定相同的datacontext将针对相同的方法,您的问题将得到解决。

我希望我理解正确。

过去我使用带有WPF的Caliburn,那里有一些名为ActionMessage的东西可能对你有用。

它通过datacontexts冒泡,直到找到具有指定名称的方法,否则它会抛出异常。也许您可以使用此功能,再加上2个克隆共享datacontext实例,使您可以使它们都指向相同的身份验证方法。

希望我做对了。