Если бы я сказал «черт возьми!», Я мог бы просто дать моему ListView с SelectionMode = «Multiple» имя и иметь возможность получить все выбранные элементы очень легко. Но я стараюсь как можно больше придерживаться MVVM, и я хочу каким-то образом привязать данные к ObservableCollection, который содержит значение из столбца Name для каждого выбранного элемента. Как в мире вы это делаете? Единый выбор прост, но решение для множественного выбора не очевидно для меня с моими текущими знаниями WPF/MVVM.ListView + MultipleSelect + MVVM =?
I read this question on SO, и хотя это дает мне хорошее представление, я не знаю, как добавить необходимую привязку к строке, потому что я использую ListView с GridView в качестве представления, а не ListBox.
Вот что моя XAML в основном выглядит следующим образом:
<ListView DockPanel.Dock="Top" ItemsSource="{Binding ClientPreview}" SelectionMode="Multiple">
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Address">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Address}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
Это звучит, как правильно нужно сделать, это свойство IsSelected привязки каждой строки для каждого объекта, хранящегося в ObservableCollection я Databinding к. Я просто не понял, как это сделать.
ах! Это имеет смысл, когда он вручается вам на серебряном блюде. Спасибо, кучка, Джоби. Я дам этот вихрь сегодня вечером и отметю это как ответ, как только подтвержу это. – Dave
Джоби, который полностью сделал трюк, спасибо !!! – Dave