2010-03-01 6 views
0

Je cours une page Web dans laquelle se trouve une «boîte» SL.Détection de l'emplacement de la souris après le chargement de la fenêtre Silverlight

Je sais comment utiliser MouseEnter et MouseLeave pour détecter si la souris est entrée dans la boîte SL ou l'a quittée.

Ma question est comment détecter si la souris est à l'intérieur ou à l'extérieur de la boîte SL quand elle vient de charger.

Merci.

Gilad.

+0

Pourriez-vous simplement utiliser l'événement MouseMove? –

+0

L'événement MouseMove se déclenche lorsque la souris se déplace sur la boîte SL. mais si la souris est statique, l'évènement se déclenche – Gilad

Répondre

0

Voici une publication étape par étape pour créer une application Silverlight qui détecte si la souris survole le contrôle Silverlight lorsqu'elle est instanciée.

Étape 1: Création d'un exemple d'application Silverlight avec Visual Studio (Fichier/Nouveau projet/application Silverlight)

Étape 2: Modifier la MainPage.xaml et placez le code suivant dans la grille du UserControl :

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

Etape 3: Modifier les MainPage.cs, et remplacer la classe MainPage avec le code suivant:

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(); 
    } 
} 

Étape 4: Créez et exécutez! Essayez-le avec la souris sur le centre du contrôle Silverlight et en dehors du contrôle pour voir les résultats!

+0

Gilad, as-tu répondu à ta question? Si oui, pourriez-vous le marquer comme étant répondu? –