diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/AddMvcViewToProjectView.xaml b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/AddMvcViewToProjectView.xaml
index b8f439797f..189001c48e 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/AddMvcViewToProjectView.xaml
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/AddMvcViewToProjectView.xaml
@@ -36,7 +36,7 @@
+ Text="{Binding Path=ViewName, UpdateSourceTrigger=PropertyChanged}"/>
AddMvcView());
+ AddMvcViewCommand = new DelegateCommand(param => AddMvcView(), param => CanAddMvcView());
}
public ICommand AddMvcViewCommand { get; private set; }
@@ -56,6 +56,11 @@ namespace ICSharpCode.AspNet.Mvc
}
}
+ public bool CanAddMvcView()
+ {
+ return viewFileName.HasValidViewName();
+ }
+
public void AddMvcView()
{
GenerateMvcViewFile();
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcViewFileName.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcViewFileName.cs
index 2f4fc82229..4557aefc0e 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcViewFileName.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Project/Src/MvcViewFileName.cs
@@ -69,5 +69,10 @@ namespace ICSharpCode.AspNet.Mvc
}
return "View1";
}
+
+ public bool HasValidViewName()
+ {
+ return !String.IsNullOrEmpty(viewName);
+ }
}
}
diff --git a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/AddMvcViewToProjectViewModelTests.cs b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/AddMvcViewToProjectViewModelTests.cs
index f1becb4aab..75be80169d 100644
--- a/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/AddMvcViewToProjectViewModelTests.cs
+++ b/src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/AddMvcViewToProjectViewModelTests.cs
@@ -167,5 +167,27 @@ namespace AspNet.Mvc.Tests
Assert.AreEqual(expectedFileNameOpened, fileNameOpened);
}
+
+ [Test]
+ public void AddMvcViewCommand_ViewNameIsEmptyString_CommandIsDisabled()
+ {
+ CreateViewModel();
+ viewModel.ViewName = String.Empty;
+
+ bool canExecute = viewModel.AddMvcViewCommand.CanExecute(null);
+
+ Assert.IsFalse(canExecute);
+ }
+
+ [Test]
+ public void AddMvcViewCommand_ViewNameIsNotEmptyString_CommandIsEnable()
+ {
+ CreateViewModel();
+ viewModel.ViewName = "MyView";
+
+ bool canExecute = viewModel.AddMvcViewCommand.CanExecute(null);
+
+ Assert.IsTrue(canExecute);
+ }
}
}