我是 MVVM/WPF 的新手,过去两周我一直在研究 Web 示例,但我仍然不知道如何处理以下问题:
我正在为公司的制造部门开发某种“缺陷插入软件”。用户可以“创建新记录”,然后根据用户的选择显示具有不同问题/单选按钮/组合框的不同用户控件。
我受到有关Internationalized Wizard的精彩文章的启发,但此示例中的向导非常简单明了。
以下代码创建了我的第一个向导步骤:
void CreatePages()
{
var welcomePage = new WelcomePageViewModel();
var settings = new SettingsViewModel();
var cellScrap = new WizardChooseCellScrapGradeViewModel(this.CellScrap);
var manufacturer = new WizardChooseManufacturerViewModel(this.CellScrap);
var pages = new List<WizardPageViewModelBase>();
pages.Add(welcomePage);
pages.Add(settings);
pages.Add(cellScrap);
pages.Add(manufacturer);
_pages = new ReadOnlyCollection<WizardPageViewModelBase>(pages);
}
现在当用户选择制造商A时,程序应该要求他在usercontrol_1中填写数据,如果他选择制造商B,那么将显示usercontrol_2。
这样做的最佳做法是什么?我想我不能为此使用 ReadOnlyCollection,有更好的主意吗?