Silverlight/XAML – Learning by Coding

[ kreisdiagramm.xaml --> Grafik anzeigen ]

 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 bzwCosinus:
 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]