Enlace bidireccional con Listview y XmlDataprovider

Busque mucho pero no encontre solucion a mi problema.

Tengo un archivo XML

<Module>
<Accounting>
    <tag tagname="tag1" displayname="display1">True</tag>
    <tag tagname="tag2" displayname="dispaly2">False</tag>
</Accounting>
</Module>

Y ese es mi problema: quiero vincular este archivo XML a una vista de lista donde puedo ver el nombre para mostrar y una casilla de verificación donde puedo (des) marcar la etiqueta (enlace bidireccional)

mi archivo XAML:

<ListView Height="134.113" Width="227.409" Margin="0,-100,30,10">
                    <ListViewItem>
                        <StackPanel>
                            <CheckBox IsChecked="{Binding XPath=./Module/Accounting/tag}">
                                <TextBlock Text="{Binding XPath=./Module/Accounting/tag/@displayname}"/>
                            </CheckBox>
                        </StackPanel>
                    </ListViewItem>
                </ListView>

Pero la vista de lista solo muestra el primer elemento "display1" pero no el segundo ... ¿alguien tiene una idea de por qué? (¿podría haber algún problema porque tengo (otro) xmldataprovider?)

gracias
pd: lo siento, el inglés no es mi primer idioma ;)

preguntado el 31 de julio de 12 a las 13:07

Use el Propiedad ListView.ItemsSource para enlazar una lista. -

Si está utilizando una sola columna, le sugiero que use ListBox. Si planea mostrar varias columnas, consulte la configuración adecuada de XAML ListView... switchonthecode.com/tutorials/… -

Lo probé hace algún tiempo, pero si configuro ItemsSource-Property en la vista de lista, obtengo la excepción "La colección de elementos debe estar vacía antes de usar ItemsSource" -

1 Respuestas

ACTUALIZACIÓN:

Veo cuál es tu problema... si configuras el Items colección definiendo un elemento en XAML (que es lo que está haciendo) ... entonces no puede establecer un ItemsSource .

Quita el ListViewItem...y define cómo quieres que aparezcan tus elementos definiendo .View or .ItemsTemplate para su ListView para que sepa cómo mostrar sus artículos.

Mira aquí:


Use el XmlDataProvider como sigue:

Si desea poder crear nuevos nodos en el documento XML, use esto:

Y enlace a los elementos en su documento:

Respondido el 17 de junio de 13 a las 23:06

Pero tengo un proveedor de datos xml, que está configurado en otra vista de lista, por lo que no puedo usar este proveedor de datos xml porque quiero seleccionar otros datos. ¿Debo crear un segundo proveedor de datos xml? - user1565745

¿Está diciendo que tiene 2 vistas de lista que miran los datos XML al mismo tiempo? ... ¿y ambas usan XmlDataProvider en ItemsSource? - Csmith

Tengo 2 vistas de lista mirando los datos XML, pero solo 1 vista de lista usa XmlDataProvider (porque quiero ver diferentes valores en las vistas de lista) - user1565745

Estaba configurando un elemento, entonces dejó de usar ItemsSource... vea la respuesta anterior. - Csmith

pero si configuro ItemsSource-Property en la vista de lista, obtengo la excepción "La colección de elementos debe estar vacía antes de usar ItemsSource"? - user1565745

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.