Silverlight/XAML – Learning by Coding
1: <?xml version="1.0" encoding="UTF-8"?>
2: <!-- coded by Thomas Meinike 05/08 -->
3: <Canvas xmlns="http://schemas.microsoft.com/client/2007"
4: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5: x:Name="container" Loaded="LoadXAML_1">
6:
7: <TextBlock Canvas.Left="30" Canvas.Top="15" Foreground="#999"
8: FontFamily="Lucida" FontSize="18" Text="XAML-Inhalte dynamisch aus externen Dateien laden"/>
9:
10: <TextBlock x:Name="fehler" Canvas.Left="30" Canvas.Top="50" FontFamily="Arial" FontSize="16"
11: Foreground="#F00" Text="Fehler bei der Datenabfrage!" Visibility="Collapsed"/>
12:
13:
14: <!-- // zusätzlich verwendeter JavaScript-Code:
15:
16: function LoadXAML_1(sender,eventArgs)
17: {
18: var sl_ctrl,cont_obj,xaml_obj,fehler_obj,dl;
19:
20: sl_ctrl=sender.getHost();
21: cont_obj=sender.findName("container");
22: fehler_obj=sender.findName("fehler");
23:
24: dl=sl_ctrl.createObject("downloader");
25:
26: dl.addEventListener("DownloadFailed",function(sender,eventArgs)
27: {
28: fehler_obj.visibility="Visible";
29: });
30:
31: dl.addEventListener("Completed",function(sender,eventArgs)
32: {
33: if(sender.status==200)
34: {
35: var xaml_obj=sl_ctrl.content.createFromXamlDownloader(sender,""); // oder [...]createFromXaml(sender.responseText)
36: if(xaml_obj=="Canvas")cont_obj.children.add(xaml_obj); // oder cont_obj.children.insert(0,xaml_obj)
37: }
38: else fehler_obj.visibility="Visible";
39: });
40:
41: dl.open("GET","media/objekte.xaml");
42: dl.send();
43: }
44:
45: -->
46:
47:
48: <!-- // zusätzlich verwendeter XAML-Code in objekte.xaml:
49:
50: <?xml version="1.0" encoding="UTF-8"?>
51: <Canvas xmlns="http://schemas.microsoft.com/client/2007"
52: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
53:
54: <Ellipse Canvas.Left="50" Canvas.Top="70" Width="150" Height="150" Fill="#C00"/>
55:
56: <Ellipse Canvas.Left="75" Canvas.Top="95" Width="100" Height="100" Fill="#0C0"/>
57:
58: <Ellipse Canvas.Left="100" Canvas.Top="120" Width="50" Height="50" Fill="#00C"/>
59:
60: <TextBlock Canvas.Left="65" Canvas.Top="250" Foreground="#999"
61: FontFamily="Arial" FontSize="12" Text="Inhalt von objekte.xaml"/>
62:
63: </Canvas>
64:
65: -->
66:
67: </Canvas>
[zum Anfang]