| 
					by 
					kirupa  |  22 January 2008
 In the
							
							previous page, you created a data source called 
							MusicData that used an XML file as its source. In 
							this page, we'll look at using the data source you 
							created. What we need to do now is setup our application. In 
							Blend, select your Window and set its Width and 
							Height to 512 and 480 respectively:
 
							 
							[ change your application's width and height to 512 
							and 480 respectively ] You now face an empty stage with nothing in it, 
							so let's fix that. From your Asset Library, insert a 
							Listbox control. Make sure your Listbox takes up all 
							the available space inside your Window. You can do 
							that by dragging the adorners until the red snapping 
							lines appear: 
							 
							[ you can resize your listbox using the adorners ] Alternatively, you can use the property grid and 
							set the Horizontal and Vertical Alignments for your 
							Listbox to Stretch: 
							 
							[ if adorners aren't your thing, you can use the 
							property grid also ] With your Listbox taking up all of your space, 
							the end result is a bit anticlimactic. Your artboard 
							doesn't really look much different, for your Listbox 
							has no items to display. Let's fix that next. You have your listbox, and you also have an XML data 
							source. Let's put them together by using your 
							listbox to display some XML data. With your listbox 
							selected, under your Properties panel, find the 
							Common Properties panel:
 
							 
							[ find the Common Properties panel ] In your Common Properties panel, you will see a 
							field called ItemsSource. Click on the advanced 
							properties box next to it and click on the the item for 
							Data Binding: 
							 [ click on the Data Binding item 
							to bind data to your listbox's ItemsSource property 
							] The Create Data Binding window will appear. In 
							this window, your Data Field tab will be selected, 
							and in the Data Sources list on the left side, you 
							will see an entry for ZuneData. Select the ZuneData 
							entry: 
							 
							[ select your ZuneData data source ] When you select the ZuneData data source, notice 
							that on the right side where your Fields area is, 
							you see an entry for zCard. zCard is the parent node 
							for the XML document referenced by ZuneData. Expand 
							the zCard entry by clicking on the arrow before it 
							to display its children: 
							 
							[ zCard is the root node of your XML file, so you 
							can expand it to see its children ] By clicking on each of the arrows, you are able 
							to dig a little bit deeper into the structure of 
							your XML document. The information we want is really 
							deeply nested, so expand your XML data in the 
							following order: zCard / 
							user / manifest / playlists / playlist / track: 
							 
							[ expand your XML tree until you reach the correct 
							track node ] There are several track nodes, so make sure you 
							reach the correct node. You can verify that you are 
							selecting the correct nodes by looking at the XPath 
							field in the same view: 
							 
							[ notice that the XPath value shown is the same as 
							the path I highlighted in blue above ] It is kind of hard to see the XPath field by 
							default, but make sure that what is displayed matches 
							the path I exactly provided (and highlighted in 
							blue!) earlier. Once you have selected the 
							track entry, press the Finish button to 
							accept the selection and close the Create Data 
							Binding window. Your listbox will now look like the following: 
							 
							[ what you will see after having created the data 
							binding ] Doesn't what you see above look great? Don't 
							worry. We will figure out how to make sense of all 
							this data in the 
							next page. Onwards to the
							next page! |