sábado, 13 de junio de 2009

Data Binding WPF II

Enlazando un XML:



El codigo XAML:
namespace :TestWPF_Data_Binding_II
nombre de la ventana :DataBinding_XMLData



<Window x:Class="TestWPF_Data_Binding_II.DataBinding_XMLData"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="DataBinding_XMLData" Height="300" Width="300">
<Window.Resources>
<!--Usar la propiedad Source de XmlDataProvider si tenemos el archivo xml
referenciandolo con la Uri apropiada, como se muestra en el sgte codigo: -->
<!--<XmlDataProvider x:Key="PerrosXML"
Source="Perros.xml"
XPath="Perros"/>-->

<!-- O podemos embeber directamente el xml : -->
<XmlDataProvider x:Key="PerrosXML">
<x:XData>
<!--Si -cuando el xml va embebido- no se deja vacío el atributo xmlns, se producirá un
error, la salida será : "System.Windows.Data.Error exception has occurred"-->
<Perros xmlns="" >
<Perro Nombre="Alco" Color="Blanco" />
<Perro Nombre="Güeso" Color="Gris" />
<Perro Nombre="Pellejo" Color="Negro" />
</Perros>
</x:XData>
</XmlDataProvider>
</Window.Resources>

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="80" />
<RowDefinition />
</Grid.RowDefinitions>

<TextBlock Text="Bind To XML Data" FontSize="15"
HorizontalAlignment="Center" Grid.Row="0" Margin="3" />
<TextBlock Text="Enlazando un archivo XML" FontSize="15"
HorizontalAlignment="Center" Grid.Row="0" Margin="29" />

<ListBox
ItemsSource="{Binding Source={StaticResource PerrosXML},
XPath=/Perros/Perro/@Nombre}"
Grid.Row="1" HorizontalAlignment="Center"/>
</Grid>
</Window>

No hay comentarios:

Publicar un comentario