在尝试实现mvp模式(被动视图)时,WinForms中的嵌套用户控件(UCs)存在严重问题。该项目由一个模型(设计为单例)和一组具有相应视图界面的不同演示者组成。为了避免一个巨大的视图界面,因此重载主UI,我决定使用一组不同的UC。每个UC都有一个视图界面和一个可以访问模型的演示者。但是有嵌套的UC:意味着一个专门的UC实现了一种基本的UC。主UI只代表所有这些UC的容器。到目前为止,这么好(如果没有,请问)?!
我现在面临两个问题(但我猜两者都是同一个问题):
难道我的基本UC会导致所有这些问题吗?!它由两个简单的ComboBox组成,实现了一个基本的演示者和基本的视图界面。每当我将这个UC添加到不同的UC时,VS设计者就会将UC的公共getter方法的两个引用添加为资源。然后,我从resx文件中手动删除这些资源,并推荐设计器文件中的相应行。
答案 0 :(得分:0)
对于第二个:您应该在代码中使用DesingMode
类(Component
派生的)的UserControl
属性。请注意,此属性存在一个错误,即嵌套用户控件的值不正确。
我认为这可以帮到你:When your WinForms UserControl drives you nuts