XAML Power Toys

Current Version 5.0.0.1, Last Update 25 October 2009 

XAML Power Toys for Visual Studio 2008

Table Of Contents

Introduction

XAML Power Toys is a Visual Studio 2008 SP1 Add-In that empowers WPF & Silverlight developers while working in the XAML editor.  Its Line of Business form generation tools, Grid tools,  DataForm, DataGrid and ListView generation really shorten the XAML page layout time.

XAML Power Toys commands are accessed using the XAML editor context menu and code editor context menu.

XAML Power Toys generates .NET 3.5 SP1 WPF compliant XAML and Silverlight 3 compliant XAML.

Requirements

  • Visual Studio 2008 with SP1
  • For Silverlight Development, install the latest Silverlight 3 as detailed on http://www.silverlight.net/getstarted/  (If you’re not doing Silverlight development this is not required.)
  • For Silverlight DataForm development, must install the Silverlight Toolkit.
  • x32 or x64 operating system
  • Windows XP, Vista, Windows 7, Server 2003 or Server 2008

New Features and Changes in v5.0.0.1

The 25 October update adds one new feature and corrects the v5 known issue.

The ViewModel creation window now allows selecting the name of the method that is used to raise the  PropertyChanged event.  You can thank Microsoft MVP John Goldsmith for the suggestion.  Awesome John, appreciate the feedback and feature suggestion.

See the ViewModel Creator feature in the screen shots below.

New Features and Changes In v5.0

  • x32 and x64 support. 
  • Creation of Silverlight 3 DataForm from a selected class.
  • ViewModel creation now allows optionally re-implementing Model properties on the ViewModel.
  • Moved XAML Power Toys saved settings file out of the “\Program Files\Little Richie Software\XAML Power Toys” folder to “\Program Data\Little Richie Software\XAML Power Toys” folder.
  • Visual Studio “Add-in\Macro Security” entry no longer required.
  • Removed XAML Power Toys Solution Explorer context menus.  All features are now accessed from either a code window or the XAML Editor.
    • In previous versions of XAML Power Toys, some commands were available from the Solution Explorer context  menu.  This had caused confusion for some users.
  • Fixed the installer program to simply installing and uninstalling XAML Power Toys.  Version 5 no longer requires any additional steps for a clean install or uninstall.
  • Completely rewrote the secondary application domain loading code from scratch.
  • Verified XAML Power Toys has no side by side issues with DevExpress
  • Added license agreement MIT X11 License.  This was done for two reasons:
    • I’m now using Mono.Cecil for assembly reflection and it’s licensed using the above license.
    • Many corporate developers have a requirement that all software they install and use must have a license agreement.  I’ve added it so corporate customers can now use XAML Power Toys in their organizations.

Known Issue

This has been corrected in the 25 Oct 2009 and later releases.  You no longer have to open a .xaml file first.

  • Before using XAML Power Toys v5.0 to create a ViewModel in C# or VB.NET, you must have opened one .xaml file in Visual Studio. The .xaml file can be opened in the WPF Designer or Source Code (Text Editor).  After opening the file can be closed.  The act of opening the .xaml files loads assemblies into Visual Studio that XAML Power Toys uses.
    • I spent 2 days trying to work around this, but just couldn’t figure out why or a workaround.  If you forget to do this, you’ll get a dialog that reminds you to open a .xaml file and try again.

XAML Power Toys Full Feature Set

  • Create ViewModel Class - from a VB.NET or C# code window, easily create a ViewModel stub that includes commands and exposed data class.  Optionally you can elect to re-implement all Model properties on the ViewModel.
  • Create Silverlight DataForm For Selected Class - quickly create a DataForm complete with bindings that are easily associated with properties on the source class
  • Create WPF or Silverlight DataGrid For Selected Class - quickly create a DataGrid complete with bindings that are easily associated with properties on the source class
  • Create WPF ListView For Selected Class – quickly create a ListView complete with bindings that are easily associated with properties on the source class
  • Create Business Form For Selected Class – quickly create a form complete with bindings that are easily associated with properties on the source class
  • Create Business Form – quickly create a form without selecting an entity class.  Great for creating unbound forms or just laying out a Grid.
  • Show Fields List For Selected Class – display a list of class fields similar to Microsoft Access.  Allows dragging of fields to create controls
  • Extract Properties To Style – allows selecting a control, choosing desired properties and have those selected properties extracted to a newly created style
  • Group Into – allows selecting one or more controls and group them inside a new parent control.  Many options provided
  • Change Grid To Flow Layout – allows selecting of one of more control and will remove all MinWidth, MinHeight, Margin properties and will set all row and column definitions to Auto.
  • Chainsaw Minimize Cider Designer XAML – allows selecting of one or more controls and will remove all MinWidth, MinHeight, x:Name, Name, Margin properties and will set all row and column definitions to Auto.
  • Remove Margins – allows selecting one or more controls and removes the Margin property from them
  • Edit Grid Column and Rows – allows selecting a grid and then add or remove rows and columns
  • Set Defaults For Created Controls – allows customizing the initial properties that are set when the software creates a new control
  • About Box – see the version of XAML Power Toys installed on your system.  The current version of XAML Power Toys is always displayed at the top of this page below the title.

Screen Shots

XAML Editor Content Menu

v33Menu

VB.NET and C# Code Window Content Menu

v4CodeWindowContextMenu

Select Class Using Class Picker

The "Create Form, ListView or DataGrid From Selected Class" and "Fields List From Selected Class" XAML Editor commands both open this class picker form.  This form displays the current project and all referenced projects and referenced assemblies except Microsoft assemblies.  After selecting the class you press the "Next…" button and you’ll be taken to the appropriate form.

The TreeView is grouped by assembly, namespace and then the classes are sorted by name.

SelectedClass

Create Business Form, DataGrid, ListView or DataForm For A Class

This form is drag and drop enabled.  Also features a contracted view of fields.

Allows setting required properties.  Data binding validation and other properties are determined from your default control settings.

v31CreateWPFDataGrid

StringFormat Selector

Makes selecting a StringFormat very easy.  Displays the format string and example side by side.

v31FormatPicker

Create Business Form

This was a version one feature.  Allows creating a form when not class is available.  Great for roughing out Grids and populating with controls.

v31CreateBusinessForm

Fields List

Similar to the Microsoft Access Fields List, this allows dragging a field to the XAML Editor and the field and/or label control will be created for you, with all data bindings set for the property.  This floats on top of Visual Studio and you can collapse it.  The fields list is a great tool when you need to add a new field to an existing layout.

v33FieldsList 

ViewModel Creator

The ViewModel creator tool makes building a ViewModel class a snap.  This feature is sensitive to C# and VB.NET and will create the correct code for you.

The yellow highlight indicates the new feature added in v5.0.0.1.  You can now select or type in the name of the method that will be called when raising a PropertyChanged event.

This name value is also used if you selected the Implement INotifyPropertyChanged option.

This name feature enables you to use any name in your ViewModel base classes and have the generated code us it.

v5001ViewModel

Control Defaults

XAML Power Toys allows developers to determine how controls are created by the software.  The developer can describe how each platforms controls are rendered.  Developers can determine which data binding validation properties are set automatically and exactly which properties are set when the control is created.  In the below example, I have set the WPF TextBox to have the HorizontalAlignment and VerticalAlignment properties set.

ForceReRead Converter – VB.NET & C# converters included in source and binary downloads.  Converter is also included in the OceanFramework.WPF namespace. 

The ForceReRead converter is discussed in this MSDN Form Post.  This converter is necessary for TextBox bindings where the Source property "could" be changing the property in the Setter.  Example, the user enters "wa" in the TextBox.  The Source property State Setter is called and "wa" passed.  The State Setter then sets the Value to WA.  Without this converter, the data binding pipeline will not re-read the property and display the new "WA" value in the TextBox.  With the converter, "WA" is displayed in the TextBox.

The ForceReRead converter is not added if the TextBox.Text binding has the StringFormat property is set because it is not needed.  If you edit the generated TextBox.Text binding and need to add another converter to your code instead of the ForceReRead converter your converter will force the value to be re-read by the data binding pipeline.

The ForecedReRead converter will no longer be required for .NET 4.0.  You can read about the new .NET 4.0 feature here: http://karlshifflett.wordpress.com/2009/05/27/wpf-4-0-data-binding-change-great-feature/

TargetNullValue – when TextBox.Text property is data bound to a Nullable Source, setting the TargetNullValue=” will allow the Source property to be set to Nothing (null) without generating a binding exception.  Without this property a converter would be required to set the value to Nothing (null).  This enables an empty string in a TextBox to correctly set the Source to Nothing (null).

v4ControlDefaults

The below image shows the setup for the Silverlight DataGrid control. 

The imported name space is "data" and the Control Type is entered as "data:DataGrid"

ControlDefaults

Videos

I’m begging every developer in the strongest possible terms, please view the below videos. They will get you up and running and productive in a very short time.

The video links require Microsoft Silverlight 1.0.  If you do not have it, you will be prompted to install it when you click one of the links.  After the short installation is completed, close the browser window that you did the install in and re-click the video you want to watch.   You can also download it here. Windows XP or Vista required.

All New videos are 1280×1024.

  Group Into (7:28 )   Create Business Form (5:19)
  Grid Tools (Remove Margins, Chainsaw) (5:22)   Fields List (4:16) New
  Edit Grid Row Columns (7:22)   Create ViewModel fromm Class (15:03) New
  Extract Properties to Style (3:30) New   Create Form, DataForm, DataGrid, ListView (13:30) New
  Control Default Settings (8:16) New  

Overview

If you’re reading this and have not watched the above videos, please do so now (thank you!) . I won’t be repeating the content of the videos below.  They are short and to the point.  You’ll be up and running, saving lots of time in just a few minutes.

I’m supplying the source code for those who have authored Visual Studio Add-In’s or who want to look under the covers.  Visual Studio Add-In’s are not the difficult to write, but there is a new programming API to learn.

The XAML Power Toys UI is WPF which made the coding very easy.  There is one hurtle I had to get past.  The XAML Power Toys Add-In does not program against any object model, it is really just manipulating text.  There is no object model available in Visual Studio Add-In’s to program against which is why the Add-In has the developer selecting text in the XAML editor.  The add-in then processes that selected text.  The Grid Row and Column Editor does some pretty slick stuff, all without any real object model to program against.  This was my first crack and working with the XMLDocument so any feedback on better techniques will be well received.

Creating Business Forms, ListViews, DataForms and DataGrids

I want to emphasize a requirement when creating forms, ListViews, DataForms or DataGrids for a class.  You must ensure that the solution has been built.  If you make any changes to the source class that you want to make a form for, you must rebuild the project so that the add-in can property reflect the properties of the source class.

New Installation

If you are upgrading from any previous version of XAML Power Toys, please FIRST follow the below upgrade steps and then install XAML Power Toys v5.

Ensure that you have installed Visual Studio 2008 SP1.

For Silverlight Development, install the latest Silverlight 3 as detailed on http://www.silverlight.net/getstarted/  (If you’re not doing Silverlight development this is not required.)

For Silverlight DataForm development, must install the Silverlight Toolkit.

Run the downloaded Setup.exe.

XAML Power Toys will be available in Visual Studio 2008.

First Time Use

The first time you use XAML Power Toys please edit and save your Control Default Settings.  If you do not do this, and you access a feature that needs them, default settings will be created, saved and a dialog box will display, informing you of the action just taken.  By editing and saving your Control Default Settings before using XAML Power Toys, you’ll not only avoid this intrusive dialog box, but you’ll know and can control how controls are created by XAML Power Toys.

Control Default Settings are now being saved in the “\Program Data\Little Richie Software\XAML Power Toys” folder.  This is a system folder for saving program data files like the settings file.

Upgrading from ANY Previous Version of XAML Power Toys

Before installing XAML Power Toys v4, we must remove all traces of XAML Power Toys v4 and below.

  • Open Visual Studio 2008
  • Open Options dialog (Tools, Options), click on Add-in/Marcos Security and remove any XAML Power Toys entries from the list of Add-in File Paths.  Click OK when XAML Power Toys has been removed from the below list.
  • When done, your Add-in File Paths should look like the below image. 

ToolOptions

  • Use Control Panel and uninstall the previous version of XAML Power Toys
  • Navigate to the folder where you installed XAML Power Toys, probably “C:\Program Files\Little Richie Software\XAML Power Toys” or “C:\Program Files (x86)\Little Richie Software\XAML Power Toys” and delete the “Little Richie Folder”
    • This is required since uninstalling will not remove the old settings file.  XAML Power Toys v5 does not have this problem.
  • Now follow the above install steps.

Downloads

Remember – Please build your projects before attempting to create forms, ViewModels or using the Field List.

Please set your Control Defaults after installing, new options have been added.

Download now comes from my Windows Live Sky Drive.

Download XAML Power Toys for Visual Studio 2008 v5.0.0.1 Release Installer (1.08 MB)

Download XAML Power Toys for Visual Studio 2008 v5.0.0.1 Source Code not required (599 KB)

Alternate Download Site

Some corporate firewalls do not allow access to Windows Live Sky Drive.  You can download the installer here.  Remember to rename the file from .doc to .zip.  This is a requirement of WordPress.

Download XAML Power Toys for Visual Studio 2008 v5.0.0.1 Release Installer (1.08 MB) 

Cool Usage Tips

I have written a blog post on how to select large amounts of XAML when performing a Group Into.  The blog post is Cool Usage Tip For XAML Power Toys.  Check it out and easily select large amounts of XAML when Grouping or working with Grids.

Here is a follow up blog post that provides another solution to selecting large portions of XAML:  Super Tip For XAML Power Toys

Future of XAML Power Toys

Please post your comments, complaints and suggestions on this blog post.  I’m already working on XAML Power Toys v6 for Visual Studio 2010 Beta2 and will release when Beta2 ships.

License Agreement

XAML Power Toys uses the Mono.Cecil library for reflection.  Mono.Cecil uses the MIT X11 License.  XAML Power Toys is adopting the same license as Mono.Cecil.

License Agreement

Copyright (c) 2009 Little Richie Software

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Have a great day.

Just a grain of sand on the worlds beaches.

46 Responses to “XAML Power Toys”

  1. XAML Power Toys v5 Published « Karl On WPF – .Net Says:

    [...] XAML Power Toys [...]

  2. Josh Smith Says:

    Seriously…you rock. :)

  3. DotNetShoutout Says:

    XAML Power Toys…

    Thank you for submitting this cool story – Trackback from DotNetShoutout…

  4. Andreas Finne Says:

    Is it just me that can’t find the Installation and Setup video?

  5. nkaloupek Says:

    A few points in the documentation:

    Under “New Installation” you say “XAML Power Toys will not be available in Visual Studio 2008.” Did you mean “will now be available” instead of “not”?

    In “New Features and Changes” you say, “•o Removed XAML Power Toys Solution Explorer context menus. All features are not accessed from either a code window or the XAML Editor. ” I don’t understand – is this the same error, where “not” should be “now”? If this is not the case, could you rephrase to make it clearer?

    Also, one minor grammatical point: you say, “It’s commands are accessed using the XAML editor context menu “. You meant the possessive “its” (like “his”, without an apostrophe), rather than the contraction “it’s”.

    I’m getting ready to watch the videos and do the download and install so I can try it out. Thanks for your hard work to make development easier for us!

  6. XAML Power Toys « vincenthome’s Tech Clips Says:

    [...] Introduction [...]

  7. colinblair Says:

    Argh, I hate it when downloads are on skydrive. It is blocked by lots of corporate firewalls as a “personal storage” site.

  8. johnwpf Says:

    This is great Karl. Looking forward to the ViewModel generator.

    Re the install, mine failed the first time round (or at least the second level context menu wasn’t populating). The default install path appears to be /Program Files/…. If you change it to /Program Data/ it all works fine.

    Thanks again.

    John

  9. XAML Power Toys Version 5 | Biggle's Blog Says:

    [...] XAML PowerToys geht in die 5. Runde. Interessant sind dabei die neuen Formularmanager die einem eine Menge Arbeit bei gestalten von Businessformularen ersparen. [...]

  10. links for 2009-09-22 « dstelow notes… Says:

    [...] XAML Power Toys « Karl On WPF – .Net XAML Power Toys is a Visual Studio 2008 SP1 Add-In that empowers WPF & Silverlight developers while working in the XAML editor. Its Line of Business form generation tools, Grid tools, DataForm, DataGrid and ListView generation really shorten the XAML page layout time. (tags: dev dotnet silverlight xaml) [...]

  11. daveker Says:

    Hello Karl
    Did you ever consider creating an “extract interface from Class” feature to create an interface for an existing class? it would save a lot of time deleting the code inside individual methods. Just a thought.

    Thanks
    Dave K

    • Karl Shifflett Says:

      Dave,

      Can you provide some more information?

      If you can give me a simple scenario and exactly what you need that would be a big help.

      To clearly understand, I would need to know what is the starting and ending points and what options are required.

      Cheers,

      Karl

  12. daveker Says:

    Hello Karl
    My scenario was as follows: I created a Data Access module for a windows mobile project. It has methods like: ListCitiesForState(strStateAbbrev), ListStreetsForCity(strState,strCity) but there are a lot of them (about 15000 lines of code. Now, when I want to abstract away this list of methods to an interface, I must manually remove the body of the method, i.e.

    turn:

    Public Class DataAccess

    Public Function ListCitiesForState(ByVal strStateAbbrev As String, ByVal blnFavoritesOnly As Boolean) As List(Of LkpCitiesRecord)
    Dim CityList As New List(Of LkpCitiesRecord)
    Try
    Dim strSQL As String
    If blnFavoritesOnly Then

    else…
    end if

    If DataAccess.LoadMR(strSQL, DataAccess.LocationDBConnectionString) Then
    While MyReader.Read…

    to just

    Public Interface IDataAccess

    Function GetCitiesForState(ByVal strStateAbbrev As String, ByVal blnFavoritesOnly As Boolean) As List(Of LkpCitiesRecord)

    Function ListStreetsForCity(strState as string, strCity as string)

    End Interface

    DataAccess was originally a module. When I had to create an interface I just copied the class text and deleted/edited methods and properties by hand.
    I thought it would have been handy if I had a feature where I could grab the text of the class/module and strip out the body of methods and properties. Doing it by hand was not hard just a little tedious. Maybe its not a big enough issue to bother with. I just thought it could help developers to take some “hard wired” code and make it more flexible by creating an interface from an existing class,

    The feature wouldn’t change any of the code in the rest of the app that accesses DataAccess, but just strip the bodies of the methods out so the remaining code could be used in an interface. it seemed like a similar operation to some features of XAML Power Toys. It seems like you have plenty to do so don’t worry about it if you don’t have time or think its not worth the trouble.

    The last thing
    Is Ocean V2 delayed/cancelled. Maybe 23 1/2 hour work days too much? I saw the responses were gone. Please let me know. If so maybe you could give me your thoughts on using a separate Navigation Class to manage ViewModels and Views in MVVM. I’m a little unsure of the best way to navigate between UI Screens in MVVM.

    Oh and should we call you RED now? Probably not a lot of Microsoft employees with your hair color now. Thanks again for XAML Power Toys.

    Cheers,
    Dave K

    • Karl Shifflett Says:

      Dave,

      Got it. Did you know that C# has this built in? I’m not sure if VB will get this in the next version of Visual Studio 2010 or not.

      JetBrians Resharper has the extact feature you need. If you purchase the personal edition for VB.NET it’s only $49.00.

      http://www.jetbrains.com/resharper/features/index.html

      It has so many refactoriings, maybe this would be the best course of action.

      Ocean v2. I’m really hoping to publish Ocean v2 and the BBQ Shack this weekend. The software is done, the documentation takes SO much time.

      RED – LOL!

      Cheers,

      Karl

  13. daveker Says:

    Thanks Karl
    Thanks for the info.

    I’ll take a look at Resharper. I’ve been meaning to anyway.

    I’m glad to hear Ocean V2 is coming.

    If I can help at all let me know.

    I can’t wait to see Ocean. Your thought processes and explanations of why you choose certain methodologies just make sense to me. Well thought out architecture, good explanation of how it works, videos and all in VB.NET. What more could you ask for?

    Thanks
    Dave K

  14. Xaml Programming in Visual Studio 2008 - Maung²'s Technical Adventures Says:

    [...] your VS with the above patches, you may also want to empower yourself with Xaml Power Toys (http://karlshifflett.wordpress.com/xaml-power-toys/) and the following [...]

  15. XAML Power Toys Says:

    [...] Tired of typing in XAML to generate your data bound grid in Silverlight? Then check out XAML power toys. [...]

  16. rihadd Says:

    FYI,
    I was upgrading from v4 and have followed the above uninstall/install instructions, however I had to manually add the path to xamltoys in VS options. I’m running 32 bit Vista Ultimate. Other than that, Great Job Karl!
    Rich

  17. XAML Power Tows – Data Fish Technologies Says:

    [...] on WPF released the 5.0 version of the XAML Power Toys a little over a week ago. Down load here. Share and [...]

  18. ralexand56 Says:

    I’m getting a 500 error on all the new videos.

  19. ssandu Says:

    Hi
    I’ve installed version and it’a a GREAT tool.
    I found that default settings for border are not working.
    Am I doing something wrong ?
    Thank’s

    • Karl Shifflett Says:

      There are two Borders in the options section. One for Silverlight and one for WPF.

      Can you verify that you changed the Border settings for the platform you are using?

      If this does not solve your issue, can you provide more detail. What feature of XAML Power Toys did you expect to get a customized Border but did not?

      Thanks,

      Karl

      • ssandu Says:

        Hi
        I’ve modified both but I use WFP one.
        Whith a new window and an empty grid I select the whole grid and select any type of Border it put’s a border but without any settings.
        Thank’s

      • ssandu Says:

        I can send you a video with this issue but I don’t know your email. Mine is ssandu@msn.com.

    • Karl Shifflett Says:

      The Group Into feature does not use the settings when creating a control.

      The settings feature is used when creating forms, data grids, data forms or when creating controls from the fields list.

      Group Into creates many different controls and I didn’t want to confuse users by only having the Border use the settings and I really didn’t want to add all those controls into the settings just for Group Into.

      If you have some suggestions, please send them. I’ve recieved a few last week and I’ll publish an update soon.

      Cheers,

      Karl

  20. Ryan Kyle Says:

    Hi Karl,
    We met at the Silverlight Firestarter. I’m the other code gen guy. Send me an email and we can talk.
    - Ryan

  21. links for 2009-10-04 « ManiacD Says:

    [...] XAML Power Toys « Karl On WPF – .Net XAML Power Toys is a Visual Studio 2008 SP1 Add-In that empowers WPF & Silverlight developers while working in the XAML editor.  Its Line of Business form generation tools, Grid tools,  DataForm, DataGrid and ListView generation really shorten the XAML page layout time. [...]

  22. .NET i jiné ... : Odkazy z prohlížeče 21.10.09 Says:

    [...] XAML Power Toys – zajímavé pomůcky pro XAML ve VS2008  (Karl on WPF) [...]

  23. XAML Power Toys for Visual Studio 2010 Beta2 « Karl On WPF – .Net Says:

    [...] XAML Power Toys [...]

  24. drwebmonkey Says:

    Several of the Videos are not working, they return a blank page.

  25. Curso Web 2.0 » Blog Archive » La Bloguera 25 October 2009 Says:

    [...] La página oficial de descargas es http://karlshifflett.wordpress.com/xaml-power-toys/ [...]

  26. wazzzuup Says:

    Hello!
    I’m experiencing problems with ViewModel Generator. So, nevertheless, I’e recompiled my solution your tool not all of my classes and I have no Idea why -((

  27. wazzzuup Says:

    excuse me, I’ve got It! They was defined as private classes -)

  28. vegaloz Says:

    It would be great to see collaboration between XAML Power Toys and #develop (short for SharpDevelop – http://www.icsharpcode.net/OpenSource/SD/).

    #develop (short for SharpDevelop) is a free IDE for C#, VB.NET and Boo projects on Microsoft’s .NET platform.

Leave a Reply

You must be logged in to post a comment.