加载Silverlight窗口后检测鼠标位置

时间:2010-03-01 17:22:54

标签: silverlight mouse

我正在运行一个包含SL'框'的网页。

我知道如何使用MouseEnter和MouseLeave来检测鼠标是否已进入SL框或离开它。

我的问题是如何在刚刚加载时检测鼠标是否在SL盒内部或外部。

感谢。

吉拉德。

1 个答案:

答案 0 :(得分:0)

以下是构建Silverlight应用程序的分步说明,该应用程序在实例化时检测鼠标是否在Silverlight控件上。

第1步:使用Visual Studio(文件/新项目/ Silverlight应用程序)创建示例Silverlight应用程序

第2步:编辑MainPage.xaml,并将以下代码放在UserControl的网格中:

<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
    <TextBlock x:Name="x_Text" Text="Mouse Was Not Over" />
</Grid>

第3步:编辑MainPage.cs,并使用以下代码替换MainPage类:

public partial class MainPage : UserControl
{
    public MainPage()
    {
        InitializeComponent();
        base.MouseEnter += OnMouseEnter;
        base.Loaded += OnLoaded;
    }

    void OnMouseEnter(object sender, MouseEventArgs e)
    {
        x_Text.Text = "Mouse Was Over";
        base.MouseEnter -= OnMouseEnter;
    }

    void OnLoaded(object sender, EventArgs e)
    {
        System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();
        timer.Interval = new TimeSpan(300 * TimeSpan.TicksPerMillisecond);
        timer.Tick += delegate(object senderTick, EventArgs eTick)
        {
            base.MouseEnter -= OnMouseEnter;
            timer.Stop();
        };
        timer.Start();
    }
}

第4步:构建并运行!尝试使用鼠标在Silverlight控件的中心和控件外部查看结果!