I was pleasantly surprised by the response I got for the last update of the tool. Along with the feedback I got a few bugs... ahh the bugs ... so went about fixing them ... Got a couple of new features too. :)
If you have noticed above, theres a System Tray option to minimize to the systray. Now it wont occupy any additional space - its in the sys tray. By default, its not enabled.
The other thing that I added is the send to command interpreter option in the Property tree view. One thing to note here is that sometimes the node higher up the tree is passed. For instance, if you send the Height property of a TextBox to the command interpreter it will send the textbox instance. The reasoning here is that the user wants to modify the Height and sending an instance of the Height doesnt accomplish this (as its disconnected from the parent). Simplicity is the goal here so that there are no crashes... Also, the command interpreter is simplified a lot - So if you perform illegal operations (such as assigning to readonly) you get a very simplistic error msg.
The other interesting feature is that you can now open baml files. The option is available in the open File dialog (Ctrl O / File menu) ... Instead of starting everything from scratch, I reused some of the tools available for this. You have the Baml disassembler from Lutz Roeder doing the actual work. The editor is mainly the one used by the XamlExporter for Illustrator. The xamleditor is a separate exe and the source code for this portion is available here.
One other change - the earlier version dumped the resources in the current directory and it used to be messy if the user opened it on the desktop. So now, theres a msi which does all the redirection and also provides an uninstall option... yoohooo... Finally, a slight change in the splash screen code was made since it really wasnt meeting the intended purpose
The msi is attached.
Update: Fixed the FileSave extension issueRemembers the Windowstate on opening through the sys tray icon
Update 2:It was pointed out that the bamldisassembler is outdated and no longer maintained. As such I updated the msi, which now uses the bamlviewer reflector dll.
I like it... but I'd love it if it had intellisense!
Minor bug: when restoring from the system tray, it'd be nice if the "Maximised" state was remembered. Currently it restores to the "Normal" windowstate.
thanks for reporting Daniel
Couple things: When you do File->Save and select a file that already exists, say "xyz.xaml", you get warned about overwriting it, but then if you still say okay, it doesn't overwrite, but rather creates "xyz.xaml.xaml".
Also, XamlPadX exhibits somewhat different antialiasing behavior than XamlPad or Internet Explorer. XamlPad and IE match; XamlPadX is different. Take this xaml for example:
<Rectangle Canvas.Left="50" Canvas.Top="5" Width="50" Height="50" Stroke="Black" StrokeThickness="1" />
<Path Stroke="Black" StrokeThickness="1" Data="M20,20 L70,20 L70,70 L20,70z"/>
<Line Stroke="Black" StrokeThickness="1" X1="80" Y1="20" X2="130" Y2="20" />
<Line Stroke="Black" StrokeThickness="1" X1="130" Y1="20" X2="130" Y2="70" />
<Line Stroke="Black" StrokeThickness="1" X1="130" Y1="70" X2="80" Y2="70" />
<Line Stroke="Black" StrokeThickness="1" X1="80" Y1="70" X2="80" Y2="20" />
<Path Stroke="Red" StrokeThickness="2" Data="M35,40 L115,40 L115,85 L35,85z"/>
Use magnifier and compare the rendered lines in XamlPad vs. XamlPadX. If you double-click the xaml file, you'll notice that IE matches XamlPad. I'm not saying who's right, I'm just saying they're different and it's odd.
Daniel, issue is addressed in the update :)
mcgurk, intellisense would be nice but then it will make the app heavy...
small mountain, file save issue is addressed. As for antialiasing - on vista IE/Xampad/XamlPadX seems fine. On XP, XamlPad and XamlpadX show same behavior, though IE differs. XamlPadX shares the same core code as XamlPad..So it is surprising that the behavior would differ
When I try to run the app I get the following error.
An unhandled exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll
Additional information: Cannot create instance of 'XamlPadPage' defined in assembly 'XamlpadX, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. Exception has been thrown by the target of an invocation. Error in markup file 'XamlPadPage.xaml' Line 2 Position 3.
hmm... Rogers, could you try reinstalling it again... I havent heard of this issue before. so hopefully its an isolated one :)
thanks for this. its a very useful tool. nice to have the extension bug finally fixed too ;). A couple of feature suggestions:
1) when pressing enter after a ">", maintain indentation
2) when pressing F1 over an element name (e.g. Canvas, Path, Trigger, Button etc), open a web browser at a wiki site where people can post examples of the usage of that tag. (or just go to MSDN)
and another one...
3) pressing tab when text is selected should indent rather than replace text
Current version of XamlPadX Version2.5 Older Versions Version2 Version 1.5 Version 1
Kaxaml: l'alternativa a XAMLPad