Silverlight/XAML – Learning by Coding
1: <?xml version="1.0" encoding="UTF-8"?>
2: <!-- coded by Thomas Meinike 08/08 -->
3: <UserControl x:Class="sl2_linq_readxml_1.Page"
4: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
5: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
6: xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
7: Width="800" Height="600">
8:
9: <Canvas>
10:
11: <TextBlock Canvas.Left="30" Canvas.Top="30" FontSize="18" Foreground="#00C"
12: Text="XML-Daten mit LINQ in DataGrid einlesen 1 (XML im XAP-File)"/>
13:
14: <data:DataGrid Canvas.Left="30" Canvas.Top="70" x:Name="dgrid"
15: AutoGenerateColumns="False" IsReadOnly="True" CanUserResizeColumns="False"
16: HorizontalContentAlignment="Center" RowHeight="25" RowBackground="#FFF" FontSize="16"
17: GridLinesVisibility="All" HeadersVisibility="Column">
18:
19: <data:DataGrid.Columns>
20: <data:DataGridTextColumn Header="Technologie" Binding="{Binding t}" FontSize="14"/>
21: <data:DataGridTextColumn Header="Bezeichnung" Binding="{Binding b}" FontSize="14"/>
22: <data:DataGridTextColumn Header="Herausgeber" Binding="{Binding h}" FontSize="14"/>
23: <data:DataGridTextColumn Header="Jahr" Binding="{Binding j}" FontSize="14"/>
24: </data:DataGrid.Columns>
25:
26: </data:DataGrid>
27:
28: </Canvas>
29:
30:
31: <!-- // zusätzlich verwendeter VB.NET-Code in Page.xaml.vb:
32:
33: Imports System.Xml.Linq 'Verweis System.XML.Linq wurde dem Projekt hinzugefügt
34:
35: Partial Public Class Page
36: Inherits UserControl
37:
38: Public Class Data
39: Private _t As String 'Technologie
40: Private _b As String 'Bezeichnung
41: Private _h As String 'Herausgeber
42: Private _j As Integer 'Jahr
43:
44: Property t() As String
45: Get
46: Return _t
47: End Get
48: Set(ByVal value As String)
49: _t = value
50: End Set
51: End Property
52:
53: Property b() As String
54: Get
55: Return _b
56: End Get
57: Set(ByVal value As String)
58: _b = value
59: End Set
60: End Property
61:
62: Property h() As String
63: Get
64: Return _h
65: End Get
66: Set(ByVal value As String)
67: _h = value
68: End Set
69: End Property
70:
71: Property j() As Integer
72: Get
73: Return _j
74: End Get
75: Set(ByVal value As Integer)
76: _j = value
77: End Set
78: End Property
79:
80: End Class
81:
82: Public Sub New()
83: InitializeComponent()
84:
85: Dim xmldoc = XDocument.Load("technologien.xml") 'XML-Dokument wurde dem Projekt hinzugefügt
86: Dim Source As List(Of Data) = New List(Of Data)
87:
88: For Each technologie In xmldoc.Descendants("technologie")
89: Source.Add(New Data() With _
90: {.t = technologie.Element("kurzbezeichnung"), _
91: .b = technologie.Element("bezeichnung"), _
92: .h = technologie.Element("herausgeber"), _
93: .j = technologie.Element("herausgeber").Attribute("jahr")})
94: Next
95:
96: dgrid.ItemsSource = Source
97: End Sub
98:
99: End Class
100:
101: -->
102:
103:
104: <!-- // zusätzlich verwendeter XML-Code in technologien.xml:
105:
106: <?xml version="1.0" encoding="UTF-8"?>
107: <technologien>
108: <technologie>
109: <kurzbezeichnung>DocBook</kurzbezeichnung>
110: <bezeichnung>DocBook</bezeichnung>
111: <herausgeber jahr="1998">OASIS</herausgeber>
112: </technologie>
113: <technologie>
114: <kurzbezeichnung>RSS</kurzbezeichnung>
115: <bezeichnung>Really Simple Syndication</bezeichnung>
116: <herausgeber jahr="1999">UserLand Software</herausgeber>
117: </technologie>
118: <technologie>
119: <kurzbezeichnung>XSLT</kurzbezeichnung>
120: <bezeichnung>Extensible Stylesheet Language Transformations</bezeichnung>
121: <herausgeber jahr="1999">W3C</herausgeber>
122: </technologie>
123: <technologie>
124: <kurzbezeichnung>XHTML</kurzbezeichnung>
125: <bezeichnung>Extensible Hypertext Markup Language</bezeichnung>
126: <herausgeber jahr="2000">W3C</herausgeber>
127: </technologie>
128: <technologie>
129: <kurzbezeichnung>SVG</kurzbezeichnung>
130: <bezeichnung>Scalable Vector Graphics</bezeichnung>
131: <herausgeber jahr="2001">W3C</herausgeber>
132: </technologie>
133: <technologie>
134: <kurzbezeichnung>MathML</kurzbezeichnung>
135: <bezeichnung>Mathematical Markup Language</bezeichnung>
136: <herausgeber jahr="2001">W3C</herausgeber>
137: </technologie>
138: <technologie>
139: <kurzbezeichnung>X3D</kurzbezeichnung>
140: <bezeichnung>Extensible 3D</bezeichnung>
141: <herausgeber jahr="2004">ISO</herausgeber>
142: </technologie>
143: <technologie>
144: <kurzbezeichnung>OpenDocument</kurzbezeichnung>
145: <bezeichnung>Open Document Format for Office Applications</bezeichnung>
146: <herausgeber jahr="2005">ISO</herausgeber>
147: </technologie>
148: <technologie>
149: <kurzbezeichnung>DITA</kurzbezeichnung>
150: <bezeichnung>Darwin Information Typing Architecture</bezeichnung>
151: <herausgeber jahr="2005">OASIS</herausgeber>
152: </technologie>
153: <technologie>
154: <kurzbezeichnung>OOXML</kurzbezeichnung>
155: <bezeichnung>Office Open XML</bezeichnung>
156: <herausgeber jahr="2006">ECMA [ISO 2008]</herausgeber>
157: </technologie>
158: </technologien>
159:
160: -->
161:
162: </UserControl>
[zum Anfang]