Assuming a store app, the following code below is a quick and dirty sample that will react and add a TextBlock at the location you click on or touch the screen.
XAML
<Page
x:Class="StoreApp_PolyTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:StoreApp_PolyTest"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Canvas
Name="canvas"
Background="{StaticResource ApplicationPageBackgroundThemeBrush}"
Loaded="Canvas_Loaded">
</Canvas>
</Page>
Code behind
using Windows.Foundation;
using Windows.UI;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using Windows.UI.Xaml.Shapes;
// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
namespace StoreApp_PolyTest
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private void Canvas_Loaded(object sender, RoutedEventArgs e)
{
Polygon MyPolygon = new Polygon();
MyPolygon.Points.Add(new Point(0, 0));
MyPolygon.Points.Add(new Point(95, 0));
MyPolygon.Points.Add(new Point(95, 35));
MyPolygon.Points.Add(new Point(10, 35));
MyPolygon.Points.Add(new Point(0, 75)); //
MyPolygon.Stroke = new SolidColorBrush(Colors.Blue);
MyPolygon.Fill = new SolidColorBrush(Colors.Blue);
canvas.Children.Add(MyPolygon);
MyPolygon.PointerPressed += MyPolygon_PointerPressed;
}
void MyPolygon_PointerPressed(object sender, PointerRoutedEventArgs e)
{
TextBlock nameText = new TextBlock() {Text="1234"};
var point = e.GetCurrentPoint(this);
Canvas.SetLeft(nameText, point.Position.X);
Canvas.SetTop(nameText, point.Position.Y);
canvas.Children.Add(nameText);
}
}
}