diff --git a/data/templates/file/CSharp/CSharp.AvalonFlowDocument.xft b/data/templates/file/CSharp/CSharp.AvalonFlowDocument.xft
new file mode 100644
index 0000000000..6d5a31360c
--- /dev/null
+++ b/data/templates/file/CSharp/CSharp.AvalonFlowDocument.xft
@@ -0,0 +1,35 @@
+
+
+
+
+
+ An Avalon FlowDocument.
+
+
+
+
+
+
+
+]]>
+
+
+
+
+
+
diff --git a/data/templates/file/CSharp/CSharp.AvalonPage.xft b/data/templates/file/CSharp/CSharp.AvalonPage.xft
new file mode 100644
index 0000000000..2f2015c883
--- /dev/null
+++ b/data/templates/file/CSharp/CSharp.AvalonPage.xft
@@ -0,0 +1,61 @@
+
+
+
+
+
+ An Avalon page.
+
+
+
+
+
+
+
+]]>
+
+ /// Interaction logic for ${FileName}
+ ///
+
+ public partial class ${FileNameWithoutExtension} : Page
+ {
+ // To use PageLoaded put Loaded="PageLoaded" in root element of .xaml file.
+ // private void PageLoaded(object sender, RoutedEventArgs e) {}
+ // Sample event handler:
+ // private void ButtonClick(object sender, RoutedEventArgs e) {}
+
+ }
+}]]>
+
+
+
+
+
+
diff --git a/data/templates/file/CSharp/CSharp.AvalonPageFunction.xft b/data/templates/file/CSharp/CSharp.AvalonPageFunction.xft
new file mode 100644
index 0000000000..000f2ffa76
--- /dev/null
+++ b/data/templates/file/CSharp/CSharp.AvalonPageFunction.xft
@@ -0,0 +1,78 @@
+
+
+
+
+
+ An Avalon PageFunction.
+
+
+
+
+
+
+
+]]>
+
+
+ /// Interaction logic for ${FileName}
+ ///
+
+ public partial class ${FileNameWithoutExtension} : PageFunction
+ {
+ // The OnLoaded handler can be run automatically when the class is loaded. To use it, add Loaded="OnLoaded" to the attributes of the root element of the .xaml file and uncomment the following line.
+ // private void OnLoaded(object sender, RoutedEventArgs e) {}
+ //
+ // Sample Finish Handler
+ // private void OnClickDone(object sender, RoutedEventArgs e)
+ // {
+ // OnFinish(new ReturnEventArgs("The return value"));
+ // }
+
+ // To launch this page function, put this code in the launching page.
+ // ${FileNameWithoutExtension} pageFunction = new ${FileNameWithoutExtension}();
+ // pageFunction.Return += new ReturnEventHandler(On${FileNameWithoutExtension}Returned);
+ // _NavWin.Navigate(pageFunction);
+ //
+ // This handler goes in the launching page.
+ // public void On${FileNameWithoutExtension}Returned(object sender, ReturnEventArgs e)
+ // {
+ // Console.WriteLine("${FileNameWithoutExtension} returned: " + e.Result);
+ // }
+
+
+ }
+}]]>
+
+
+
+
+
+
diff --git a/data/templates/file/CSharp/CSharp.AvalonResourceDictionary.xft b/data/templates/file/CSharp/CSharp.AvalonResourceDictionary.xft
new file mode 100644
index 0000000000..9f49c04979
--- /dev/null
+++ b/data/templates/file/CSharp/CSharp.AvalonResourceDictionary.xft
@@ -0,0 +1,33 @@
+
+
+
+
+
+ An Avalon ResourceDictionary.
+
+
+
+
+
+]]>
+
+
+
+
+
+
diff --git a/data/templates/file/CSharp/CSharp.AvalonUserControl.xft b/data/templates/file/CSharp/CSharp.AvalonUserControl.xft
new file mode 100644
index 0000000000..e436510ee1
--- /dev/null
+++ b/data/templates/file/CSharp/CSharp.AvalonUserControl.xft
@@ -0,0 +1,67 @@
+
+
+
+
+
+ An Avalon User Control.
+
+
+
+
+
+
+
+
+
+]]>
+
+ /// Interaction logic for ${FileName}
+ ///
+
+ public partial class ${FileNameWithoutExtension} : UserControl
+ {
+ public ${FileNameWithoutExtension}()
+ {
+ InitializeComponent();
+ }
+
+ // To use this handler put Loaded="UserControlLoaded" in root element of .xaml file.
+ // private void UserControlLoaded(object sender, RoutedEventArgs e) {}
+ // Sample event handler:
+ // private void ButtonClick(object sender, RoutedEventArgs e) {}
+
+ }
+}]]>
+
+
+
+
+
+
diff --git a/data/templates/file/CSharp/CSharp.AvalonWindow.xft b/data/templates/file/CSharp/CSharp.AvalonWindow.xft
new file mode 100644
index 0000000000..2715a97cad
--- /dev/null
+++ b/data/templates/file/CSharp/CSharp.AvalonWindow.xft
@@ -0,0 +1,66 @@
+
+
+
+
+
+ An Avalon window.
+
+
+
+
+
+
+
+]]>
+
+ /// Interaction logic for ${FileName}
+ ///
+
+ public partial class ${FileNameWithoutExtension} : Window
+ {
+ public ${FileNameWithoutExtension}()
+ {
+ InitializeComponent();
+ }
+
+ // To use Loaded event put Loaded="WindowLoaded" attribute in root element of .xaml file.
+ // private void WindowLoaded(object sender, RoutedEventArgs e) {}
+
+ // Sample event handler:
+ // private void ButtonClick(object sender, RoutedEventArgs e) {}
+
+ }
+}]]>
+
+
+
+
+
+
diff --git a/data/templates/project/CSharp/AvalonApplication.xpt b/data/templates/project/CSharp/AvalonApplication.xpt
index c85a476af1..0454cb75ba 100644
--- a/data/templates/project/CSharp/AvalonApplication.xpt
+++ b/data/templates/project/CSharp/AvalonApplication.xpt
@@ -125,6 +125,60 @@ So, don't say I did not warn you. :-)
Mathias
(2005-10-26)]]>
+ CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ DictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ DictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.*")]]]>
diff --git a/data/templates/project/CSharp/AvalonNavigationApplication.xpt b/data/templates/project/CSharp/AvalonNavigationApplication.xpt
index 10bff5c6e9..bfee6c4f65 100644
--- a/data/templates/project/CSharp/AvalonNavigationApplication.xpt
+++ b/data/templates/project/CSharp/AvalonNavigationApplication.xpt
@@ -100,6 +100,60 @@ So, don't say I did not warn you. :-)
Mathias
(2005-10-26)]]>
+ CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ DictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ DictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.*")]]]>
diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs
index 480daa4a24..0fc6a943de 100644
--- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs
+++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs
@@ -145,6 +145,12 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
case ".resx":
case ".resources":
return ItemType.EmbeddedResource;
+
+ // HACK: This isn't really a solution. :-( Maybe in the near
+ // future we can use the known attributes in the XFT files, too.
+ case ".xaml":
+ return ItemType.Page;
+
default:
return ItemType.Content;
}