Silverlight MouseLeftButtonDown事件未触发

Mat*_*att 3 silverlight button event-handling

我可以得到MouseEnter,MouseLeaveClick事件发生,但不是MouseLeftButtonDownMouseLeftButtonUp.

这是我的XAML

    <UserControl x:Class="Dive.Map.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
        <Canvas x:Name="LayoutRoot" MouseLeftButtonDown="LayoutRoot_MouseLeftButtonDown">
            <Button x:Name="btnTest" Content="asdf" Background="Transparent"  MouseLeftButtonDown="btnTest_MouseLeftButtonDown"></Button>
        </Canvas>
    </UserControl>
Run Code Online (Sandbox Code Playgroud)

这是我的代码

public partial class MainPage : UserControl
{
    public MainPage()
    {
        InitializeComponent();
    }

    private void btnTest_MouseLeftButtonDown( object sender, MouseButtonEventArgs e )
    {
        btnTest.Content = DateTime.Now.ToString();
    }

    private void LayoutRoot_MouseLeftButtonDown( object sender, MouseButtonEventArgs e )
    {
        e.Handled = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Ant*_*nes 7

Button控制(或更具体的ButtonBase超类从它派生)处理MouseLeftButtonDown,以产生事件本身Click的事件.因此,您无法MouseLeftButtonDown从标准中获得事件Button.

您是否有理由不使用该Click活动?