Confessions of a Dangerous Mind

Brain.FlushBuffer()
posts - 176, comments - 234, trackbacks - 93

Windows Forms to XAML: the converter!

Lo ammetto… scrivere convertitori mi ha sempre appassionato. Sin dai tempi in cui ho scritto il mio primo convertitore/parser da linguaggio per macchinari a controllo numerico, il fatto di poter delegare ad una macchina un’attività dispendiosa e soggetta ad errori quale la conversione tra linguaggi mi ha affascinato.

Molti sviluppatori stanno impiegando il mio convertitore VB6(2)XAML, e ancora oggi, dopo tre anni dal suo rilascio mi arrivano richieste di nuove implementazioni. Durante una chiacchierata ad un uno degli ultimi incontri della community XeDotNet è nata l’idea di scrivere quello che vedrete descritto in questo post: il convertitore da Windows Forms a XAML (e quindi a WPF o Silverlight).

Il convertitore funziona esattamente come quello per VB6, ovvero è stato implementato un motore di generazione dello XAML che si basa su templates personalizzati per generare dinamicamente lo XAML di destinazione. Accetta in input un assembly compilato contenente le form da convertire e dà la possibilità di selezionare da una combo tutte le form presenti nell’assembly. E’ presente anche la possibilità di avere una preview della form convertita.

Qui potete vedere una form Winform e la sua “omologa” convertita in WPF:

I control templates che ho già creato sono i seguenti:

Controllo Winform Controllo WPF
Form Window
Panel Canvas
Button Button
Label TextBlock
TextBox TextBox
CheckBox CheckBox
RadioButton RadioButton
ComboBox ComboBox
ProgressBar ProgressBar
GroupBox GroupBox
TabControl TabControl
TabPage TabItem
SplitContainer Grid
SplitterPanel Canvas

Ovviamente la conversione si basa su posizionamento assoluto utilizzando i canvas. Il tool è (MOLTO) in BETA e sono ben accette richieste, osservazioni e bug reporting. Lo potete scaricare qui. Happy conversion!

Print | posted on martedì 6 aprile 2010 21:15 |

Feedback

Gravatar

# re: Windows Forms to XAML: the converter!

Ciao Lorenzo! Non l'ho provato, ma anche se non funzionasse, sarebbe sicuramente possibile adattarlo. Del resto i template è possibile scriverseli, quindi potrebbero essere scritti dei template per convertire i controlli del CF.
06/04/2010 23:51 | info@codesapiens.net
Gravatar

# Windows Forms to XAML

Windows Forms to XAML: the converter! ダウンロード場所
07/04/2010 05:04 | ゆむかブログ
Gravatar

# re: Windows Forms to XAML: the converter!

@Lorenzo: ho creato un progettino per Windows Mobile 5 Pocket PC. Ho compilato e passato la form al convertitore ed il risultato è che l'ha convertita correttamente. Ovviamente, per convertire direttamente per Windows Phone 7 (senza doverci mettere le mani in fase di post parsing) bisogna fare delle piccole modifiche... stay tuned!
08/04/2010 17:26 | info@codesapiens.net
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET