Silverlight/XAML – Learning by Coding

[ drag_and_drop.xaml --> Grafik anzeigen ]

 1: <?xml version="1.0" encoding="UTF-8"?>
 2: <!-- coded by Thomas Meinike 02/08 -->
 3: <Canvas xmlns="http://schemas.microsoft.com/client/2007"
 4:         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 5: 
 6:   <TextBlock Canvas.Left="30" Canvas.Top="10" FontFamily="Arial" FontSize="16" Foreground="#000"
 7:              Text="Die Objekte lassen sich mit gedrückter Maustaste bewegen."/>
 8: 
 9:   <Ellipse Canvas.Left="30" Canvas.Top="50" Width="50" Height="50" Fill="#F00"
10:            MouseLeftButtonDown="MDown" MouseLeftButtonUp="MUp" MouseMove="MMove"/>
11: 
12:   <Rectangle Canvas.Left="30" Canvas.Top="150" Width="50" Height="50" Fill="#090"
13:              MouseLeftButtonDown="MDown" MouseLeftButtonUp="MUp" MouseMove="MMove"/>
14: 
15:   <Polygon Points="30,300 80,300 55,250" Fill="#00C"
16:            MouseLeftButtonDown="MDown" MouseLeftButtonUp="MUp" MouseMove="MMove"/>
17: 
18: 
19:   <!-- // zusätzlich verwendeter JavaScript-Code:
20: 
21:   var x_start,y_start,m_down=false// global
22: 
23:   function MDown(sender,eventArgs)
24:   {
25:     var pos=eventArgs.getPosition(null);
26:     x_start=pos.x;
27:     y_start=pos.y;
28:     m_down=true;
29:     sender.opacity=0.5;
30:     sender.captureMouse();
31:   }
32: 
33: 
34:   function MUp(sender,eventArgs)
35:   {
36:     m_down=false;
37:     sender.opacity=1.0;
38:     sender.releaseMouseCapture();
39:   }
40: 
41: 
42:   function MMove(sender,eventArgs)
43:   {
44:     var pos,x_akt,y_akt;
45: 
46:     if(m_down)
47:     {
48:       pos=eventArgs.getPosition(null);
49:       x_akt=pos.x;
50:       y_akt=pos.y;
51:       sender["Canvas.Left"]+=x_akt-x_start;
52:       sender["Canvas.Top"]+=y_akt-y_start;
53:       x_start=x_akt;
54:       y_start=y_akt;
55:     }
56:   }
57: 
58:   -->
59: 
60: </Canvas>

[zum Anfang]