Swiftorial Logo
Home
Swift Lessons
Tutorials
Learn More
Career
Resources

Building Universal Windows Platform (UWP) Applications

Introduction

Universal Windows Platform (UWP) allows you to build applications that can run on all Windows 10 devices, including PCs, tablets, and phones. UWP provides a common API for all devices, making it easier to create a single application that can run on multiple devices.

Setting Up the Development Environment

To start building UWP applications, you need to install Visual Studio with the Universal Windows Platform development workload.

1. Installing Visual Studio

Download and install Visual Studio from the official website. During installation, select the "Universal Windows Platform development" workload.

2. Creating a UWP Project

To create a new UWP project:

  1. Open Visual Studio.
  2. Click on "Create a new project".
  3. Search for "Blank App (Universal Windows)" and select it.
  4. Click "Next" and configure your project details.
  5. Click "Create" to generate the project.

Designing the User Interface

UWP uses XAML to design the user interface. Below is an example of a simple UWP page with a Button and a TextBlock.

Example: Simple UWP Page

<Page
    x:Class="UwpApp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:UwpApp"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Button Content="Click Me" HorizontalAlignment="Left" VerticalAlignment="Top" Click="Button_Click"/>
        <TextBlock x:Name="TextBlockMessage" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,50,0,0"/>
    </Grid>
</Page>

Writing Code

Add the following code in the code-behind file (MainPage.xaml.cs) to handle the button click event and update the TextBlock.

Example: Button Click Event

using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace UwpApp
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            TextBlockMessage.Text = "Hello, UWP!";
        }
    }
}

Running the Application

Press F5 or click the "Start" button in Visual Studio to run your application. The window will appear, and you can interact with it.

Data Binding

UWP provides a powerful data binding system that allows you to bind UI elements to data sources. Below is an example of binding a TextBox to a property in the code-behind file.

Example: Data Binding

<Page
    x:Class="UwpApp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:UwpApp"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <TextBox Text="{x:Bind Name}" HorizontalAlignment="Left" VerticalAlignment="Top" Width="200" Margin="10"/>
        <Button Content="Submit" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="10,50,0,0" Click="Button_Click"/>
    </Grid>
</Page>

Styling and Templates

UWP allows you to define styles and templates to customize the appearance of UI elements. Below is an example of a button style.

Example: Button Style

<Page
    x:Class="UwpApp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:UwpApp"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Page.Resources>
        <Style TargetType="Button">
            <Setter Property="Background" Value="LightBlue"/>
            <Setter Property="Foreground" Value="DarkBlue"/>
            <Setter Property="FontWeight" Value="Bold"/>
        </Style>
    </Page.Resources>

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Button Content="Styled Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="100" Margin="10"/>
    </Grid>
</Page>

Conclusion

Building UWP applications allows you to create applications that run on all Windows 10 devices with a single codebase. By leveraging XAML, data binding, and styling, you can create rich and interactive applications efficiently.