Silverlight/XAML – Learning by Coding
1: <?xml version="1.0" encoding="UTF-8"?>
2: <!-- coded by Thomas Meinike 01/08 -->
3: <Canvas xmlns="http://schemas.microsoft.com/client/2007"
4: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
5:
6: <Canvas x:Name="button" MouseEnter="Hover" MouseLeave="Hover" MouseLeftButtonDown="CreateContent">
7: <Rectangle Canvas.Left="50" Canvas.Top="50" Width="180" Height="50"
8: RadiusX="5" RadiusY="5" Fill="#FFC" Stroke="#00C" StrokeThickness="2"/>
9:
10: <TextBlock Text="Neues Rechteck erzeugen" Canvas.Left="58" Canvas.Top="68"
11: FontFamily="Arial" FontSize="14" Foreground="#00C"/>
12: </Canvas>
13:
14:
15: <!-- // zusätzlich verwendeter JavaScript-Code:
16:
17: var hov=false; // global
18:
19: function Hover(sender,eventArgs)
20: {
21: var btn_rect=sender.findName("button").children.getItem(0);
22: var btn_text=sender.findName("button").children.getItem(1);
23:
24: if(!hov)
25: {
26: btn_rect.fill="#6CF";
27: btn_rect.cursor="Hand";
28: btn_text.foreGround="#FF0";
29: btn_text.cursor="Hand";
30: hov=true;
31: }
32: else
33: {
34: btn_rect.fill="#FFC";
35: btn_rect.cursor="Default";
36: btn_text.foreGround="#00C";
37: btn_text.cursor="Default";
38: hov=false;
39: }
40: }
41:
42:
43: var anz=0,col=["#FC6","#9FC","#39F"]; // global
44:
45: function CreateContent(sender,eventArgs)
46: {
47: if(anz<3)
48: {
49: var sl_ctrl=sender.getHost();
50: var new_rect=sl_ctrl.content.createFromXaml(
51: "<Rectangle Canvas.Left=\"" + (150+anz*50) + "\" Canvas.Top=\"" + (150+anz*50) +
52: "\" Width=\"200\" Height=\"100\" Fill=\"" + col[anz] + "\"/>");
53: sender.getParent().children.add(new_rect);
54: anz++;
55: }
56: else alert("Drei neue Rechtecke sind genug ;-).");
57: }
58:
59: -->
60:
61: </Canvas>
[zum Anfang]