SelectionMode="Extended"
및 SelectionUnit="FullRow"
이 설정되어 있어도 SelectionChanged 이벤트를 디버깅 할 때 SelectedItems에는 항상 하나의 선택된 항목 만 있습니다.WPF DataGrid에서 여러 행을 선택할 수 없습니다
<DataGrid Grid.Row="0" AutoGenerateColumns="False" Margin="5,5,5,0"
Name="dgrMembersClub1" ItemsSource="{Binding .}" CanUserAddRows="False"
SelectionMode="Extended" SelectionUnit="FullRow" SelectionChanged="Grid_SelectionChanged">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Joining" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn IsReadOnly="True" Header="Surname" Binding="{Binding Surname}" />
<DataGridTextColumn IsReadOnly="True" Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn IsReadOnly="True" Header="Club" Binding="{Binding Club_Id, Converter={StaticResource ClubName}}" />
<DataGridTextColumn IsReadOnly="True" Header="City" Binding="{Binding City}" />
</DataGrid.Columns>
</DataGrid>
그리고 내 Grid_SelectionChanged
이벤트 : 내가 (App.xaml에서) 트리거 설정을 할
private void Grid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DataGrid grid = (DataGrid)sender;
var test = grid.SelectedItems; //Count == 1 (always)
}
선택 교류에 대한 배경과 전경 브러시를 변경
이
내 데이터 그리드입니다 행. 관련성이있는 경우 알려 주시면 코드를 추가하겠습니다.* EDIT *
당신이 그것에있는 동안. 셀 템플릿에서 확인란을 선택하는 데 도움이 될 수도 있습니다. 예쁜
데이터 격자의 selectedItems를 속성이 아니라, 선택한 항목의 목록이 포함
SelectedItems에 바인딩 할 수 있습니다. –
@GayotFow : 그러면 DataGrid에서 선택되지 않은 항목이 모두 제거됩니다. 맞습니까? 그건 내가 원하는 것이 아니야. 문제는 하나 이상의 행을 선택할 수 없다는 것입니다. – DerpyNerd
아니요, 아무것도 눈금에서 제거되지 않습니다. 선택한 항목의 배열입니다. 나는 항상 그것을 묶는다. –