Hellöle,
ich versuche mittels Binding die SelectedItems eines Datagrids einzufangen.
Das scheint allerdings so nicht direkt machbar zu sein 😮
Ich arbeite normalerweise in WPF nach dem MVVM-Pattern und für mich stellt sich die Frage wie ich das sinnvoll lösen kann, wenn ich schon nicht auf Datagrid.SelectedItems binden darf :ö
Hat irgendwer eine Idee dazu ?
Mit freundlichen Grüßen
Im Eventhandler SelectionChanged einfach ein Command im VM triggern, als parameter die removed/added items übergeben.
Man muss auch nicht immer peinlichst genau ein Pattern verfolgen, wenn es einem im Weg steht.
Wiso kannst du nicht auf Datagrid.selectedItems binden, ich hab da keine probleme mit.
Was veruchst du den überhaupt an die eigenscahft zu binden?
Hallo ErikM,
was bindest du denn an das DataGrid?
Ggf. Selector.IsSynchronizedWithCurrentItem auf true
setzen und zum Binden eine CollectionViewSource verwenden.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Hallo Leute,
ich glaub hier geht komplett unter dass es hier um SelectedItems geht und nicht um SelectedItem. SelectedItems ist eben keine DependencyProperty und desshalb kann man auch nicht dagegen binden. Ich hatte das Problem auch mal. Ich glaub mich erinnern zu können, dass ich ein AttachedProperty programmiert habe, müsste aber heute Abend nachschauen.
Edit: Link zu einer Lösung welche ich nach kurzer Suche gefunden habe: How to Databind to a SelectedItems property in WPF
Managing Multiple selection in View Model
Gruß,
Michael
Guten Morgen,
also ich hab das mittlerweile geregelt bekommen :3
ich verwende folgendes
<DataGrid Name="dataGrid"
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding SelectionChanged}" CommandParameter="{Binding SelectedItems,ElementName=dataGrid}">
</i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
//.....
</DataGrid>
Im ViewModel führt er dann jedesmal das Command SelectionChanged aus und dort kann ich dann mit den SelectedItems arbeiten :3
"Danke" für die Anworten..