即使ClickMode设置为“ Press”,按钮Click事件也会触发两次

时间:2019-02-05 15:01:01

标签: c++-winrt

XAML按钮的Click甚至可以通过鼠标左键单击两次触发。

我添加了XAML按钮属性ClickMode =“ Press”,但这没什么区别。 Microsoft的ClickMode文档指出,这应该已经解决了问题。

我在Click事件处理程序的C ++代码中用一个断点发现了这个问题,该事件在每次按钮单击时都停止了两次代码。

页面容器上的网格内的XAML代码:

        <Button x:Name="button_listFiles" Grid.Column="1" Grid.Row="0" Content="List" HorizontalAlignment="Center" 
                        Click="button_listFiles_Click" ClickMode="Press"></Button>

C ++ Click事件处理程序:

    void MainPage::button_listFiles_Click(IInspectable const& sender, RoutedEventArgs const& e) {

        MainPage::counter++;

        textBox_directoryName().Text(to_hstring(counter));
    }

MainPage::counter++;计算调用处理程序的次数,textBox_directoryName().Text(to_hstring(counter));在XAML页面上显示结果,用于尝试调试。

1 个答案:

答案 0 :(得分:0)

仅此而已,答案就是我和Kenny Kerr之间的几条评论。