github
GitHub - jaywapp/Jaywapp.BuilderWizard: Wizard dialog for creating Builder patterns
Wizard dialog for creating Builder patterns. Contribute to jaywapp/Jaywapp.BuilderWizard development by creating an account on GitHub.
github.com
BuilderWizard란?
빌더 패턴에서 개체를 만드는 마법사 다이얼로그니다. 사용자는 다른 View를 만들고 추가하여 빌더 패턴에서 개체를 만들 수 있습니다.
사용방법
1. Builder
빌더의 개체를 정의합니다. 이는 IJayBuilder 인터페이스를 상속하여 정의합니다.
public class Builder : IJayBuilder
{
public object Build()
{
return default;
}
}
2. Configuration View & ViewModel
각 뷰 모델을 사용하여 구성 뷰를 생성합니다. 현재 뷰 수는 여러 개일 수 있습니다. 생성된 뷰는 IJayBuilderConfigView를 상속하고 뷰 모델은 IJayBuilderConfigView Model을 상속합니다.
ConfigView
public partial class ConfigView : UserControl, IJayBuilderConfigView
{
public IJayBuilderConfigViewModel ViewModel => DataContext as IJayBuilderConfigViewModel;
public ConfigView()
{
InitializeComponent();
}
}
ConfigViewModel
public class ConfigViewModel : ReactiveObject, IJayBuilderConfigViewModel
{
public IJayBuilder Builder { get; set; }
}
3. Use Wizard Dialog
var builder = new Builder();
var configView1 = new ConfigView1();
var configView2 = new ConfigView2();
var configViewModel1 = new ConfigViewModel1();
var configViewModel2 = new ConfigViewModel2();
configView1.DataContext = configViewModel1;
configView2.DataContext = configViewModel2;
var wizard = new JayBuilderWizard("Test", builder, configView1, configView2);
if (wizard.ShowDialog() != true)
return;
var result = wizard.Builder.Build();