Silverlight/XAML – Learning by Coding
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]