Używam DataGrid z zestawu narzędzi WPF w .NET 3.5.DataGridCheckboxColumn dwukierunkowe wiązanie
Mam kolumnę datagrid związaną z właściwością boolean z mojego obiektu źródłowego.
To pole wyboru wywołuje właściwości boolowskie, aby uzyskać poprawny akcesor.
Jednak podczas zaznaczania lub odznaczania pola wywoływane jest polecenie get zamiast zestawu.
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Object, Source={StaticResource model}, Mode=TwoWay}">
<DataGrid.Columns>
<DataGridCheckBoxColumn Binding="{Binding BoolProperty, mode=TwoWay}"/>
</DataGrid.Columns>
</DataGrid>
Kiedy zamiast użyć DataGridTemplateColumn z wyboru w niej właściwość jest ustawiona poprawnie jednak to jest bardziej skomplikowane, aby stworzyć piękny wygląd.
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding BoolProperty, Mode=TwoWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Co robię źle przy użyciu DataGridCheckBoxColumn?
Ok dzięki w tym przypadku zachowanie jest konieczne, ponieważ gdy użytkownik sprawdza pole Chcę naocznie zaktualizować coś na ekran. Czy jest sposób to zrobić przy użyciu DatGridCheckBoxColumn? Również, co jest najlepszym sposobem, aby na głównym kliknięciu użytkownik nie musi kliknąć dwa razy, aby wybrać wiersz, a następnie pole wyboru, czy można wybrać wiersz z wydarzeniem mouseover? – DanBrum
@DanBrum: Nie wiem, czy można tego uniknąć za pomocą tej kolumny, można zdefiniować własne DataGridCheckBoxColumn, jeśli nie można znaleźć sposób. Wybór na MouseOver powinien być możliwy. –