Silverlight/XAML – Learning by Coding
1: <?xml version="1.0" encoding="UTF-8"?>
2: <!-- coded by Thomas Meinike 01/08 -->
3: <!-- auf der Basis einer XSLT-Umsetzung mit Funktionen für Sinus bzw. Cosinus:
4: http://www.datenverdrahten.de/xslt2/beispiele/xaml_silverlight_kreisdiagramm/ -->
5: <Canvas xmlns="http://schemas.microsoft.com/client/2007"
6: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
7: Width="800" Height="600" Background="#FFF" Loaded="Highlight">
8:
9: <TextBlock Canvas.Left="200" Canvas.Top="12" FontFamily="Arial"
10: FontSize="20" Foreground="#00C" Text="Ergebnisse für: Testdaten"/>
11:
12: <Canvas x:Name="Segment1">
13: <Path Data="M 200,200 L 200,50 A 150,150 0 0,1 346.24,233.38 Z" Fill="#FF6"/>
14: <Rectangle Canvas.Left="400" Canvas.Top="75" Width="50" Height="15" Fill="#FF6"/>
15: <TextBlock Canvas.Left="460" Canvas.Top="76" FontFamily="Arial"
16: FontSize="12" Foreground="#000" Text="A [28.57%]"/>
17: </Canvas>
18:
19: <Canvas x:Name="Segment2">
20: <Path Data="M 200,200 L 346.24,233.38 A 150,150 0 0,1 244.21,343.34 Z" Fill="#F63"/>
21: <Rectangle Canvas.Left="400" Canvas.Top="100" Width="50" Height="15" Fill="#F63"/>
22: <TextBlock Canvas.Left="460" Canvas.Top="101" FontFamily="Arial"
23: FontSize="12" Foreground="#000" Text="B [16.67%]"/>
24: </Canvas>
25:
26: <Canvas x:Name="Segment3">
27: <Path Data="M 200,200 L 244.21,343.34 A 150,150 0 0,1 82.73,293.52 Z" Fill="#0C6"/>
28: <Rectangle Canvas.Left="400" Canvas.Top="125" Width="50" Height="15" Fill="#0C6"/>
29: <TextBlock Canvas.Left="460" Canvas.Top="126" FontFamily="Arial"
30: FontSize="12" Foreground="#000" Text="C [19.05%]"/>
31: </Canvas>
32:
33: <Canvas x:Name="Segment4">
34: <Path Data="M 200,200 L 82.73,293.52 A 150,150 0 0,1 97.97,90.04 Z" Fill="#39F"/>
35: <Rectangle Canvas.Left="400" Canvas.Top="150" Width="50" Height="15" Fill="#39F"/>
36: <TextBlock Canvas.Left="460" Canvas.Top="151" FontFamily="Arial"
37: FontSize="12" Foreground="#000" Text="D [23.81%]"/>
38: </Canvas>
39:
40: <Canvas x:Name="Segment5">
41: <Path Data="M 200,200 L 97.97,90.04 A 150,150 0 0,1 200,50 Z" Fill="#CC9"/>
42: <Rectangle Canvas.Left="400" Canvas.Top="175" Width="50" Height="15" Fill="#CC9"/>
43: <TextBlock Canvas.Left="460" Canvas.Top="176" FontFamily="Arial"
44: FontSize="12" Foreground="#000" Text="E [11.9%]"/>
45: </Canvas>
46:
47:
48: <!-- // zusätzlich verwendeter JavaScript-Code:
49:
50: function Highlight(sender,eventArgs)
51: {
52: var ch_count=sender.children.count;
53:
54: for(var i=0;i<ch_count;i++)
55: {
56: if(sender.findName("Segment"+i)=="Canvas")
57: {
58: var can_obj = sender.findName("Segment"+i);
59: can_obj.addEventListener("MouseEnter",function(sender,eventArgs){sender.opacity=0.5;});
60: can_obj.addEventListener("MouseLeave",function(sender,eventArgs){sender.opacity=1.0;});
61: }
62: }
63: }
64:
65: -->
66:
67: </Canvas>
[zum Anfang]