WPFでMVVMをフォローしようとしたときに、テスト用のコードをどこに配置すればよいかわからない場合がありました。btnReset_ClickメソッドUIコマンドのすべての行は、ビューモデルに属しているかどうかはわかりませんが、コードをコードの後ろに置きたくありません。私が考えた2つのオプションをリストアップしましたが、別の解決策も受け入れています。
Public class Main : Window
{
private void btnReset_Click(object sender, RoutedEventArgs e)
{
DynamicStackPanel.Children.Clear();
controls.Clear();
txtUsername.Text = string.Empty;
txtPassword.Text = string.Empty;
txtResponse.Text = string.Empty;
cbxTestEnvironment.SelectedValue = string.Empty;
cbxOperation.SelectedItem = null;
cbxTestEnvironment.SelectedItem = null;
}
}
また
public class MainViewModel : DependencyObject
{
public MainViewModel : DependancyObject
{
public MainViewModel(UtilityMain win)
{
win.btnReset.Click +=btnReset_Click;
}
private void btnReset_Click(object sender, RoutedEventArgs e)
{
DynamicStackPanel.Children.Clear();
controls.Clear();
txtUsername.Text = string.Empty;
txtPassword.Text = string.Empty;
txtResponse.Text = string.Empty;
cbxTestEnvironment.SelectedValue = string.Empty;
cbxOperation.SelectedItem = null;
cbxTestEnvironment.SelectedItem = null;
}
}