Directly port your ActionScript code into Microsoft Silverlight 3.0!

Flash CS4 Professional ActionScript 3.0 (Flash implementation)
package { 
    import flash.display.*; 
    import flash.events.*; 

    public class Test extends Sprite { 
        private const EYE_LEFT_CENTER_X:int = 150; 
        private const EYE_LEFT_CENTER_Y:int = 200; 
        private const EYE_RIGHT_CENTER_X:int = 310; 
        private const EYE_RIGHT_CENTER_Y:int = 200; 
        private const EYE_WIDTH:int = 140; 
        private const EYE_HEIGHT:int = 240; 
        private const EYE_BORDER_WIDTH:int = 20; 

        private var eyeLeft:Sprite; 
        private var eyeRight:Sprite; 
         
        public function Test():void { 
            graphics.clear(); 

            graphics.beginFill(0x000000); 
            graphics.drawEllipse(EYE_LEFT_CENTER_X - EYE_WIDTH / 2, EYE_LEFT_CENTER_Y - EYE_HEIGHT / 2, EYE_WIDTH, EYE_HEIGHT); 
            graphics.drawEllipse(EYE_RIGHT_CENTER_X - EYE_WIDTH / 2, EYE_RIGHT_CENTER_Y - EYE_HEIGHT / 2, EYE_WIDTH, EYE_HEIGHT); 
            graphics.endFill(); 

            graphics.beginFill(0xffffff); 
            graphics.drawEllipse((EYE_LEFT_CENTER_X - EYE_WIDTH / 2) + EYE_BORDER_WIDTH, (EYE_LEFT_CENTER_Y - EYE_HEIGHT / 2) + EYE_BORDER_WIDTH, EYE_WIDTH - EYE_BORDER_WIDTH * 2, EYE_HEIGHT - EYE_BORDER_WIDTH * 2); 
            graphics.drawEllipse((EYE_RIGHT_CENTER_X - EYE_WIDTH / 2) + EYE_BORDER_WIDTH, (EYE_RIGHT_CENTER_Y - EYE_HEIGHT / 2) + EYE_BORDER_WIDTH, EYE_WIDTH - EYE_BORDER_WIDTH * 2, EYE_HEIGHT - EYE_BORDER_WIDTH * 2); 
            graphics.endFill(); 
             
            eyeLeft = new Eye(); 
            eyeLeft.x = EYE_LEFT_CENTER_X; 
            eyeLeft.y = EYE_LEFT_CENTER_Y; 
            addChild(eyeLeft); 
            eyeRight = new Eye(); 
            eyeRight.x = EYE_RIGHT_CENTER_X; 
            eyeRight.y = EYE_RIGHT_CENTER_Y; 
            addChild(eyeRight); 

            stage.addEventListener(MouseEvent.MOUSE_MOVE, 
                function (event:MouseEvent):void { 
                    var distance:int; 
                    var maxDistance:int = EYE_WIDTH / 2 - EYE_BORDER_WIDTH - Eye.RADIUS; 
                     
                    distance = Math.sqrt(Math.pow((event.stageX - EYE_LEFT_CENTER_X), 2) + Math.pow((event.stageY - EYE_LEFT_CENTER_Y), 2)); 
                    if (distance > maxDistance) { 
                        eyeLeft.x = EYE_LEFT_CENTER_X + (event.stageX - EYE_LEFT_CENTER_X) / distance * maxDistance; 
                        eyeLeft.y = EYE_LEFT_CENTER_Y + (event.stageY - EYE_LEFT_CENTER_Y) / distance * maxDistance; 
                    } 
                    else { 
                        eyeLeft.x = event.stageX; 
                        eyeLeft.y = event.stageY; 
                    } 
                     
                    distance = Math.sqrt(Math.pow((event.stageX - EYE_RIGHT_CENTER_X), 2) + Math.pow((event.stageY - EYE_RIGHT_CENTER_Y), 2)); 
                    if (distance > maxDistance) { 
                        eyeRight.x = EYE_RIGHT_CENTER_X + (event.stageX - EYE_RIGHT_CENTER_X) / distance * maxDistance; 
                        eyeRight.y = EYE_RIGHT_CENTER_Y + (event.stageY - EYE_RIGHT_CENTER_Y) / distance * maxDistance; 
                    } 
                    else { 
                        eyeRight.x = event.stageX; 
                        eyeRight.y = event.stageY; 
                    } 
                     
                } 
            ); 
        } 

    } 
} 

import flash.display.*; 

class Eye extends Sprite { 
    public static const RADIUS:int = 20; 

    public function Eye():void { 
        graphics.beginFill(0x000000); 
        graphics.drawCircle(0, 0, RADIUS); 
        graphics.endFill(); 
    } 
} 
Flash CS4 Professional ActionScript 3.0 (Silverlight implementation)
using SilverStone.flash.display;
using SilverStone.flash.events;
using System;

public class Test : Sprite {
	private const int EYE_LEFT_CENTER_X = 150;
	private const int EYE_LEFT_CENTER_Y = 200;
	private const int EYE_RIGHT_CENTER_X = 310;
	private const int EYE_RIGHT_CENTER_Y = 200;
	private const int EYE_WIDTH = 140;
	private const int EYE_HEIGHT = 240;
	private const int EYE_BORDER_WIDTH = 20;

	private Sprite eyeLeft;
	private Sprite eyeRight;
	
	public Test() {
		graphics.clear();

		graphics.beginFill(0x000000);
		graphics.drawEllipse(EYE_LEFT_CENTER_X - EYE_WIDTH / 2, EYE_LEFT_CENTER_Y - EYE_HEIGHT / 2, EYE_WIDTH, EYE_HEIGHT);
		graphics.drawEllipse(EYE_RIGHT_CENTER_X - EYE_WIDTH / 2, EYE_RIGHT_CENTER_Y - EYE_HEIGHT / 2, EYE_WIDTH, EYE_HEIGHT);
		graphics.endFill();

		graphics.beginFill(0xffffff);
		graphics.drawEllipse((EYE_LEFT_CENTER_X - EYE_WIDTH / 2) + EYE_BORDER_WIDTH, (EYE_LEFT_CENTER_Y - EYE_HEIGHT / 2) + EYE_BORDER_WIDTH, EYE_WIDTH - EYE_BORDER_WIDTH * 2, EYE_HEIGHT - EYE_BORDER_WIDTH * 2);
		graphics.drawEllipse((EYE_RIGHT_CENTER_X - EYE_WIDTH / 2) + EYE_BORDER_WIDTH, (EYE_RIGHT_CENTER_Y - EYE_HEIGHT / 2) + EYE_BORDER_WIDTH, EYE_WIDTH - EYE_BORDER_WIDTH * 2, EYE_HEIGHT - EYE_BORDER_WIDTH * 2);
		graphics.endFill();
		
		eyeLeft = new Eye();
		eyeLeft.x = EYE_LEFT_CENTER_X;
		eyeLeft.y = EYE_LEFT_CENTER_Y;
		addChild(eyeLeft);
		eyeRight = new Eye();
		eyeRight.x = EYE_RIGHT_CENTER_X;
		eyeRight.y = EYE_RIGHT_CENTER_Y;
		addChild(eyeRight);

        stage.addEventListener(MouseEvent.MOUSE_MOVE,
            delegate(MouseEvent @event) {
				double distance;
				double maxDistance = EYE_WIDTH / 2 - EYE_BORDER_WIDTH - Eye.RADIUS;
				
				distance = Math.Sqrt(Math.Pow((@event.stageX - EYE_LEFT_CENTER_X), 2) + Math.Pow((@event.stageY - EYE_LEFT_CENTER_Y), 2));
				if (distance > maxDistance) {
					eyeLeft.x = EYE_LEFT_CENTER_X + (@event.stageX - EYE_LEFT_CENTER_X) / distance * maxDistance;
					eyeLeft.y = EYE_LEFT_CENTER_Y + (@event.stageY - EYE_LEFT_CENTER_Y) / distance * maxDistance;
				}
				else {
					eyeLeft.x = @event.stageX;
					eyeLeft.y = @event.stageY;
				}

				distance = Math.Sqrt(Math.Pow((@event.stageX - EYE_RIGHT_CENTER_X), 2) + Math.Pow((@event.stageY - EYE_RIGHT_CENTER_Y), 2));
				if (distance > maxDistance) {
					eyeRight.x = EYE_RIGHT_CENTER_X + (@event.stageX - EYE_RIGHT_CENTER_X) / distance * maxDistance;
					eyeRight.y = EYE_RIGHT_CENTER_Y + (@event.stageY - EYE_RIGHT_CENTER_Y) / distance * maxDistance;
				}
				else {
					eyeRight.x = @event.stageX;
					eyeRight.y = @event.stageY;
				}
            }
        );
	}
}

class Eye : Sprite {
	public const int RADIUS = 20;

	public Eye() {
		graphics.beginFill(0x000000);
		graphics.drawCircle(0, 0, RADIUS);
		graphics.endFill();
	}
}
?? eyes - wonderfl build flash online