私はMVCパターンを学んでおり、ビューまたはウィンドウが1つあるWPFおよびWinFormsのいくつかの単純なデモアプリに適用しました。
App app = new App();
app.MainWindow = new MainWindow();
IModelInterface model = new ModelCalculator();
IControllerInterface controler = new ControllerCalculator(model);
app.Run();
多くの人が MVVM を使用すべきだと提案していることは知っていますが、私はそうしますが、MVC でこれを行う方法に興味があります。
私の質問は、複数のビューを管理する方法です (例:多くのメニュー項目を持つメニュー)。すべてのメニュー項目は、独自のボタン テキスト ボックスなどを備えた Window であり、独自のControllerが必要です。
それとも、すべてを 1 つのControllerに入れるだけですか?
これはIControlerInterface
andControlerCalculator
クラスです。
public interface IControllerInterface
{
void Addition();
void Divide();
void Multiply();
void Subtract();
void Equals();
void RemoveNull();
void Clear();
void OpenChildWindow();
}
class ControllerCalculator : IControllerInterface
{
IModelInterface model;
MainWindow view;
public ControllerCalculator(IModelInterface model)
{
this.model = model;
view = new MainWindow(this,model);
view.Show();
}
#region ControlerMethodsRegion
public void Addition()
{
int number = Convert.ToInt32(view.txtDisplyValue.Text);
model.SetInput(number);
view.txtDisplyValue.Clear();
view.txtDisplyValue.Text = "0";
model.SetState(States.Add);
}
public void Subtract()
{
int number = Convert.ToInt32(view.txtDisplyValue.Text);
model.SetInput(number);
view.txtDisplyValue.Clear();
view.txtDisplyValue.Text = "0";
model.SetState(States.Subtract);
}
}
ビューはそれを使用してコントローラーを呼び出すため、インターフェイスを変更する必要があるため、すべてを1つのコントローラーに配置することは解決策ではないと思います。
私のメインの ViewMenuItem
からのクリックを管理する方法はありますか?MainWindow