diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBehavior.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBehavior.cs new file mode 100644 index 0000000000..1b260f1257 --- /dev/null +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBehavior.cs @@ -0,0 +1,46 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Diagnostics; +using System.IO; +using System.Linq; + +using ICSharpCode.AvalonEdit.Document; +using ICSharpCode.AvalonEdit.Xml; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop; +using ICSharpCode.SharpDevelop.Dom; +using ICSharpCode.SharpDevelop.Project; + +namespace ICSharpCode.XamlBinding +{ + public class XamlBehavior : ProjectBehavior + { + public override ItemType GetDefaultItemType(string fileName) + { + if (".xaml".Equals(Path.GetExtension(fileName), StringComparison.OrdinalIgnoreCase)) + return ItemType.Page; + + return base.GetDefaultItemType(fileName); + } + } + + public class SilverlightBehavior : ProjectBehavior + { + public override bool IsStartable { + get { return TestPageFileName.Length > 0; } + } + + public override ProcessStartInfo CreateStartInfo() + { + string pagePath = "file:///" + Path.Combine(((CompilableProject)Project).OutputFullPath, TestPageFileName); + return new ProcessStartInfo(pagePath); + } + + public string TestPageFileName { + get { return ((MSBuildBasedProject)Project).GetEvaluatedProperty("TestPageFileName") ?? ""; } + set { ((MSBuildBasedProject)Project).SetProperty("TestPageFileName", string.IsNullOrEmpty(value) ? null : value); } + } + } +} diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.addin b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.addin index 125e64d183..2a4b09dcec 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.addin +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.addin @@ -49,6 +49,11 @@ class="ICSharpCode.XamlBinding.XamlLanguageBinding" extensions=".xaml" /> + + + + + diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.csproj b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.csproj index 51c6082ced..5df30af413 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.csproj +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.csproj @@ -130,6 +130,7 @@ + diff --git a/src/Main/Base/Project/Src/Project/Behaviors/ProjectBehavior.cs b/src/Main/Base/Project/Src/Project/Behaviors/ProjectBehavior.cs index 7ccc3273c2..063ccee949 100644 --- a/src/Main/Base/Project/Src/Project/Behaviors/ProjectBehavior.cs +++ b/src/Main/Base/Project/Src/Project/Behaviors/ProjectBehavior.cs @@ -113,35 +113,4 @@ namespace ICSharpCode.SharpDevelop.Project next.SetMemento(memento); } } - - - - public class XamlBehavior : ProjectBehavior - { - public override ItemType GetDefaultItemType(string fileName) - { - if (".xaml".Equals(Path.GetExtension(fileName), StringComparison.OrdinalIgnoreCase)) - return ItemType.Page; - - return base.GetDefaultItemType(fileName); - } - } - - public class SilverlightBehavior : ProjectBehavior - { - public override bool IsStartable { - get { return TestPageFileName.Length > 0; } - } - - public override ProcessStartInfo CreateStartInfo() - { - string pagePath = "file:///" + Path.Combine(((CompilableProject)Project).OutputFullPath, TestPageFileName); - return new ProcessStartInfo(pagePath); - } - - public string TestPageFileName { - get { return ((MSBuildBasedProject)Project).GetEvaluatedProperty("TestPageFileName") ?? ""; } - set { ((MSBuildBasedProject)Project).SetProperty("TestPageFileName", string.IsNullOrEmpty(value) ? null : value); } - } - } } \ No newline at end of file