私はMVVM/WPFが初めてで、過去2週間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 を使用できないと思いますが、より良いアイデアはありますか?