обрабатывать событие нажатия вне кнопки

Я пытаюсь попрактиковаться в c #, воспроизведя приложение, которое есть в Apple AppStore.

В приложении есть прямоугольник с текстом:"Touch me", Когда вы прикасаетесь к нему, прямоугольник перемещается сам.

После того, как вы сделаете это несколько раз, текст изменится на «Не прикасайся ко мне». В этом случае вы должны коснуться за пределами прямоугольника.

Все прошло хорошо, вплоть до точки, где вы должны касаться за пределами прямоугольника.

Вот мой обработчик событий:

    private void Canvas_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e)
    {
        if (click == 0)
        {
            if (rectangle1.IsMouseOver || textBlock1.IsMouseOver)
            {
               // reposition and stuff
                if (clicks == 10)
                {
                    // Change the value of the variable click to 1 
                    click = 1;
                    textBlock1.Text = "Do Not Click me";
                    Canvas.SetLeft(textBlock1, 200);
                }
            }
        }
        else
        {
            if (rectangle1.IsMouseOver || textBlock1.IsMouseOver)
            {
                // Game Over
                this.Close();
            } else
            {
                // reposition and stuff

                click = 0;
                textBlock1.Text = "Click me";
                Canvas.SetLeft(textBlock1, 225);
            }
        }
    }

Программа отлично работает до того момента, когда вам нужно щелкнуть за пределами прямоугольника.

Программа закрывается, когда вы нажимаете на прямоугольник, но когда вы щелкаете за его пределами, ничего не происходит. Есть ли обработчик событий, который может выполнить задачу, которую я хочу?

Вот мой xaml

<Window x:Class="ClickMe.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="510" Width="525" ResizeMode="NoResize">
<Canvas Name="canvas" MouseLeftButtonDown="Canvas_MouseLeftButtonDown_1">
    <Rectangle Fill="#FFF4F4F5" Name="rectangle1" HorizontalAlignment="Left" Height="38" Stroke="Black" VerticalAlignment="Top" Width="509" Canvas.Left="0" Canvas.Top="63"/>
    <Label Name="label1" Content="0" Canvas.Left="57" Canvas.Top="446"/>
    <Label Content="Klicks:" Canvas.Left="10" Canvas.Top="446"/>
    <TextBlock Name="textBlock1" Canvas.Left="225" TextWrapping="Wrap" Text="Click Me" Canvas.Top="74" Margin="10,0,0,0"/>

</Canvas>

Ответы на вопрос(3)

Ваш ответ на вопрос