我正在创建一个Silverlight 4应用程序来管理活动目录对象(CRUD用户,组等)。现在我们都知道活动目录对象有很多属性。 我想在某些AD对象类型(用户,组等)的SQL DB(即samaccountname,mail等)中保存一些属性名称组。 当silverlight应用程序中的用户点击“创建用户”时,我想
用户控件因Active Directory属性的类型而异,即对于具有日期时间值的属性,我们将使用日历创建用户控件。这样我们就可以保持“创建”视图的动态。
Silverlight / Prism基础已经存在,我正在通过RegionManager添加我的视图。一切正常但我不确定如何以动态的方式添加控件,它仍然适用于PRISM和MVVM模式。感谢您的任何意见。
答案 0 :(得分:0)
我将假设你很乐意从db中获取属性并保存值,并专注于创建MVVM的中间区域。
PRISM部分我不担心。你说你已经向区域经理注册了这些意见,而这就是你需要做的所有事情。
我最初的想法是如何在运行时使用MVVM“创建”控件。创建控件并不是困难的部分,但需要处理将要注入的元素,例如根网格。这表面上感觉非MVVM。我个人认为以旧方式完成“视图”代码是有效的,它是绑定中使用的“数据”代码,应该是MVVM。问题是告诉代码将控件注入实际注入的内容。我想不出一个干净利落的方法。
作为一个解决方案,你不能创建一个视图,其中包含适用于每个属性的所有控件,而不是在需要时“创建”它们,在不需要时“隐藏”它们吗?您可以将“Visibility”属性(可能通过值转换器)绑定到ViewModel中的属性,该属性可用于确定是否应显示该特定控件。如果将这些放置在堆栈面板中,则视图将动态缩小。
如果您认为代码示例有助于我了解。