none
PointerPressedなどのイベントハンドラが呼び出されません

    質問

  • Visual Studio Community 2017でWindows 10のユニバーサルWindowsアプリ(UWPアプリ)を作ろうとしていますが、Page(名前「page」)にPointerPressedなどのイベントハンドラを設定して、ウィンドウをクリックしても、イベントハンドラが呼び出されません。
    ボタンにクリックのイベントハンドラを設定すれば、呼び出されます。またPage内に四角形(Rectangle)を配置して、その四角形の中でクリックすれば、イベントハンドラが呼び出されます。
    ウィンドウ内のボタンでも四角形でもない所をクリックしても、PageのPointerPressedイベントハンドラが呼び出されません。当方のやり方が悪いのかもしれませんが、どこが悪いのかわかりません。
    VSC2017を再インストールしてみましたが、同じです。当方はC++/CX、XAMLなどについては初心者ですので、よろしくお願いします。

    1. 当方の開発環境
    (1) Windows 10 Pro. 64ビット バージョン1803、 OSビルド 17134.285
    (2) Visual Studio Community 2017 Version 15.8.5

    2. ソースプログラム
    (1) MainPage.xaml
    <Page x:Name="page"
        x:Class="App2.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="using:App2"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
        PointerPressed="page_PointerPressed"
        PointerReleased="page_PointerReleased"
        KeyDown="page_KeyDown">

        <Grid>
            <Button x:Name="button"
                    Content="Button"
                    HorizontalAlignment="Left"
                    VerticalAlignment="Top"
                    RenderTransformOrigin="2.021,3.686"
                    Height="139" Width="231" Margin="56,59,0,0"
                    Click="button_Click"/>
            <Rectangle x:Name="rect"
                    HorizontalAlignment="Left" Height="364" Margin="357,322,0,0"
                    VerticalAlignment="Top" Width="661" Fill="Black"
                    PointerPressed="rect_PointerPressed"/>

        </Grid>
    </Page>

    (2) MainPage.xaml.cpp
    //
    // MainPage.xaml.cpp
    // MainPage クラスの実装。
    //

    #include "pch.h"
    #include "MainPage.xaml.h"

    using namespace App2;

    using namespace Platform;
    using namespace Windows::Foundation;
    using namespace Windows::Foundation::Collections;
    using namespace Windows::UI::Xaml;
    using namespace Windows::UI::Xaml::Controls;
    using namespace Windows::UI::Xaml::Controls::Primitives;
    using namespace Windows::UI::Xaml::Data;
    using namespace Windows::UI::Xaml::Input;
    using namespace Windows::UI::Xaml::Media;
    using namespace Windows::UI::Xaml::Navigation;

    // 空白ページの項目テンプレートについては、https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x411 を参照してください

    MainPage::MainPage()
    {
     InitializeComponent();
    }

    void App2::MainPage::page_PointerPressed(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e)
    {
    }

    void App2::MainPage::page_PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e)
    {
    }

    void App2::MainPage::page_KeyDown(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e)
    {
    }

    void App2::MainPage::button_Click(Platform::Object^ sender,
    Windows::UI::Xaml::RoutedEventArgs^ e)
    {
    }

    void App2::MainPage::rect_PointerPressed(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e)
    {
    }

    2018年10月3日 9:12

回答