Выбор нескольких строк в Wpf DataGrid

Я боролся с этой проблемой в течение последнего месяца. Пожалуйста, помогите мне. У меня есть сетка данных WPF (datagrid1), в которой я заполняю таблицу данных, она работает нормально, в том же пользовательском интерфейсе у меня есть другая сетка данных WPF (datagrid2), которая должна быть заполнена как выбор нескольких строк из первого datagrid1, как мы можем это сделать это? Основная проблема в том, что я хочу связать выбранные строки (несколько), как мне это сделать? Помогите мне, пожалуйста.

<DataGrid Name="dataGridSearchResults" 
          FontWeight="Normal" AutoGenerateColumns="False" 
          IsReadOnly="True" 
          ItemsSource="{Binding SearchResults,Mode=Default}" 
          SelectedIndex="{Binding SelectedIndexSearchResults}" 
          SelectionMode="Single" Margin="1,0,0,0" 
          Height="174" GridLinesVisibility="None" >
   <DataGrid.Columns>
        <DataGridTextColumn Header="RFC ID" Binding="{Binding RFCID}"></DataGridTextColumn>
        <DataGridTextColumn Header="RFC Title" Binding="{Binding RFCTitle}"></DataGridTextColumn>
        <DataGridTextColumn Header="RFC Revision" Binding="{Binding RFCRevision}"></DataGridTextColumn>
        </DataGrid.Columns>
</DataGrid>`

Спасибо.


person nallskarthi    schedule 26.04.2011    source источник


Ответы (1)


Вам просто нужно привязать свойство ItemsSource вашей второй сетки данных к свойству SelectedItems вашей первой сетки данных:

<WPFToolkit:Datagrid x:Name="dg1" ItemsSource="{Binding MySourceFromDatabase}" SelectionMode="Extended"/>

<WPFToolkit:Datagrid x:Name="dg2" ItemsSource="{Binding ElementName=dg1,Path=SelectedItems}" />
person Bruno    schedule 26.04.2011
comment
Спасибо за ответ, Бруно, но я хочу, чтобы вы связали выбранные строки из первой сетки данных1? - person nallskarthi; 26.04.2011
comment
вы сказали, что заполнение вашей первой сетки данных работает нормально, поэтому я предположил, что точка блокировки заключалась в том, как установить вторую сетку данных с выбранными элементами первой ... Я что-то неправильно понял? Если это случай, то я предлагаю вам опубликовать пример кода, чтобы прояснить ситуацию. - person Bruno; 26.04.2011
comment
Моя точная блокировка заключается в том, что я не могу связать выбранные строки в Viewmodel, теперь я сделал выбор одной строки, используя selctionmode = 'single', но даже после того, как я перешел на «Расширенный», я также могу выбрать несколько строк, но не могу чтобы поймать выбранные индексы или выбранные строки :( - person nallskarthi; 26.04.2011
comment
Ну да, привязка SelectedItems к модели представления немного сложна по той простой причине, что у этого свойства нет установщика, так что вы не можете привязываться от ViewModel к XAML... Попробуйте проверить эту ссылку, чтобы увидеть, можете ли вы найдите несколько советов о том, как добиться этого [link]stackoverflow.com/ вопросы/3566658/ - person Bruno; 26.04.2011
comment
Спасибо, это единственный способ, которым я думаю. создайте новое свойство зависимости, а затем перейдите по той же ссылке, которую вы упомянули выше. - person nallskarthi; 27.04.2011