Bonjour,

J'ai un ListView bindé à un CollectionView...et j'aimerais faire passer un paramètre dans la construction.

Ce paramètre est la valeur de l'élément sélectionné d'un autre ListBox!

J'ai donc mon ListView avec un DataContext sur l'élément sélectionné d'une ListBox

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<ListView DataContext="{Binding SelectedItem, ElementName=ListBox5}" ItemsSource="{Binding Source={StaticResource cvd}}" />
...et dont la source est une CollectionView

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"
<local:DatabaseList x:Key="databaselist"/>
 
<CollectionViewSource Source="{StaticResource databaselist}" x:Key="cvd">
    <CollectionViewSource.SortDescriptions>
        <scm:SortDescription PropertyName="Name"/>
    </CollectionViewSource.SortDescriptions>
</CollectionViewSource>
Voici le constructeur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Class DatabaseList
    Inherits ObservableCollection(Of DatabaseItems)
    Public Sub New()
        If File.Exists(value & ".xml") Then
            Dim sysdata As XmlDocument = New XmlDocument()
            sysdata.Load(value & ".xml")
            Dim root As XmlElement = sysdata.DocumentElement
            Dim nodes As XmlNodeList = root.SelectNodes("start")
            For Each node As XmlNode In nodes
                MyBase.Add(New DatabaseItems(node.Attributes("name").Value, node("description").InnerText))
            Next
        End If
    End Sub
End Class
...j'utilise ici pour l'exemple une variable 'value' qui symbolise le paramètre que je voudrais bien faire passer au constructeur.



Donc, en résumé: Un ListView se lie à un CollectionView dont le constructeur utilise un paramètre passé par le ListView (et qui est l'élément sélectionné d'un ListBox)



J'espère que je suis assez clair ;-) et je vous remercie d'avance pour l'aide que vous voudrez bien m'apporter!!