Is there a way to use WPF without XAML

You can write WPF apps w/o XAML. Everything you can achieve in xaml, you can achieve in C# code is really true but not the opposite.  But xaml is very handy to define styles and templates, or initialize tons of objects. It is much easier to read than c# code. And it is easy to maintain.

XAML is also mustly used in WPF UI bacause it makes it possible to have a dedicated designer (not programmer) to design the UI.

How to get this code going:

  • Create a Windows Presentation Foundation project named HelloWorldManual
  • Remove the App.xaml and Window1.xaml from the project
  • Add a new class file named MyWindow.cs and paste this into it:

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

namespace HelloWorldManual
    public class MyWindow : Window
        private Label label1;

        public MyWindow()
            Width = 300;
            Height = 300;

            Grid grid = new Grid();
            Content = grid;

            Button button1 = new Button();
            button1.Content = "Say Hello!";
            button1.Height = 23;
            button1.Margin = new Thickness(96, 50, 107, 0);
            button1.VerticalAlignment = System.Windows.VerticalAlignment.Top;
            button1.Click += new RoutedEventHandler(button1_Click);

            label1 = new Label();
            label1.Margin = new Thickness(84,115,74,119);


        void button1_Click(object sender, RoutedEventArgs e)
            label1.Content = "Hello WPF!";

        public static void Main()
            Application app = new Application();

            app.Run(new MyWindow());
By Sriramjithendra Posted in WPF, WPF

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s