我目前面临着一项微不足道的任务,但我想不出解决方案。
为了解释它应该如何运作的理论......
有一种身份验证形式。 http://prntscr.com/pwat5
此表单符合TabControl
- > TabItem
和TabControl
依次放置在组件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允许这种可能性吗?
答案 0 :(得分:1)
也许既然您正在使用WPF,如果您将事件绑定到命令或任何其他机制,那么克隆窗口,给定相同的datacontext将针对相同的方法,您的问题将得到解决。
我希望我理解正确。
过去我使用带有WPF的Caliburn,那里有一些名为ActionMessage的东西可能对你有用。
它通过datacontexts冒泡,直到找到具有指定名称的方法,否则它会抛出异常。也许您可以使用此功能,再加上2个克隆共享datacontext实例,使您可以使它们都指向相同的身份验证方法。
希望我做对了。