我是刚学习c#的新手,所以对控件不熟,反而巧合利用MouseMove与MouseLeave实现MouseEnte主要就是用一个变量kachi   来判断对象是否变换(即鼠标是否还在同一个对象上)。是,不调用MouseMove部分变量,否  ,调用。 其实这个有很多漏洞  包含

 

 

 

        private void ParentCanvas_MouseMove(object sender, MouseEventArgs e)
        {
            FrameworkElement x = sender as FrameworkElement;
            
x.Width = 80;
             x.Height = 80;
             if (kachi == 0)
             {
                 x.SetValue(Canvas.TopProperty, (double)x.GetValue(Canvas.TopProperty)-15);
                 x.SetValue(Canvas.LeftProperty, (double)x.GetValue(Canvas.LeftProperty)-15);
                 x.SetValue(Canvas.ZIndexProperty, i); i++;
                 kachi = 1;
 
             }
    private void Rec_MouseLeave(object sender, MouseEventArgs e)       

           {
            Rectangle x = sender as Rectangle;
            x.Width = 50;
            x.Height = 50;

            if (kachi == 1)
            {
                x.SetValue(Canvas.TopProperty, (double)x.GetValue(Canvas.TopProperty)+15);
                x.SetValue(Canvas.LeftProperty, (double)x.GetValue(Canvas.LeftProperty) +15);
                kachi = 0;
            }