Quick Silverlight (and WPF) tip: How to write program without XAML

From the moment, 10K MIX09 contest was launched, I got more, then 20 people, asking the same question: Is it possible to have Silverlight program up and running without XAML at all?

image

The answer is “YES, IT IS”. Here is how:

All you need for run WPF or Silverlight application is

  1. Class inherited from System.Windows.Application
  2. Class inherited from System.Windows.Controls.UserControl

So, Let’s create new WPF or Silverlight application and delete all files from the project directory. Then add one file, named App.cs (or Foo.cs or Whatever.cs – the length of the file name is not included :) ) and write there :

using System.Windows.Controls;
using System.Windows;

public class App : Application {public App() {this.Startup += (s, e) => { this.RootVisual = Foo.M; };}} 
class Foo: UserControl {static Foo _b = new Foo();public static Board M { get { return _b; } }

We done. F5, be happy. You just wrote first officially smallest Silverlight functional application. Good luck with Mix09 contest.

Be Sociable, Share!

You may also be interested with:

  1. RSA private key import from PEM format in C#

3 Responses to “Quick Silverlight (and WPF) tip: How to write program without XAML”

  1. Community Blogs Says:

    In this issue: Jim Lynn, Silverlight Girl, Microsoft Natal, Damon Payne, Lutz Gerhard, Tamir Khason,

  2. DotNetKicks.com Says:

    You’ve been kicked (a good thing) – Trackback from DotNetKicks.com

  3. Reference? Says:

    What reference do you need to have the “Board” variable get resolved?

    public static Board M

    I am new to WPF and Silverlight, but I just tried to follow your instructions:

    Create a new WPF or Silverlight application
    Delete all files from the project directory
    Add an App.cs with the code supplied

    Is Board replaced with UIElement or something?

Leave a Reply

Recommended

 


Sponsor


Partners

WPF Disciples
Dreamhost
Code Project
Switched to Better Place

Together