UWP - Make TextBlock text selectable

MainPage.xaml

<Page
    x:Class="UniversalAppTutorials.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:UniversalAppTutorials"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    >
    <StackPanel Padding="50" Background="AliceBlue">
        <TextBlock
            x:Name="TextBlock1"
            FontSize="20"
            Foreground="DodgerBlue"
            TextWrapping="Wrap"
            Margin="5"
            Text="This is a sample TextBlock which text is selectable."
            IsTextSelectionEnabled="True"
            SelectionChanged="TextBlock_SelectionChanged"
            SelectionHighlightColor="Orange"
            />
        <TextBlock
            x:Name="TextBlock2"
            FontSize="20"
            Foreground="BlueViolet"
            TextWrapping="Wrap"
            Margin="5"
            Text="This is another TextBlock which text also selectable."
            SelectionChanged="TextBlock_SelectionChanged"
            />
        <TextBlock
            x:Name="TextBlock3"
            FontFamily="SimSun"
            FontWeight="Bold"
            FontSize="30"
            Foreground="Crimson"
            TextWrapping="Wrap"
            Margin="5,15,5,5"
            />
    </StackPanel>
</Page>
MainPage.xaml.cs

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


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

            /*
                TextBlock.IsTextSelectionEnabled
                    Gets or sets a value that indicates whether text
                    selection is enabled in the TextBlock, either
                    through user action or calling selection-related API.
            */

            // Programmatically make second TextBox text selectable
            TextBlock2.IsTextSelectionEnabled = true;

            // Set TextBlock selection highlight color
            TextBlock2.SelectionHighlightColor = new SolidColorBrush(Colors.Olive);

            // Set a selection changed event listener
            TextBlock2.SelectionChanged += TextBlock_SelectionChanged;
        }

        private void TextBlock_SelectionChanged(object sender, RoutedEventArgs e)
        {
            // Cast sender as a TextBlock
            TextBlock textBlock = sender as TextBlock;

            if (textBlock.SelectedText.Length > 0)
            {
                // Get the TextBlock selected text and display it on another TextBlock
                TextBlock3.Text = "You selected:\n" + textBlock.SelectedText;
            }
            else
            {
                TextBlock3.Text = "";
            }
        }
    }
}