Czy istnieje przypadek, gdy właściwość IsChecked w WPF CheckBox ma wartość null?Dlaczego właściwość IsChecked jest wartością logiczną zerowalną w polu CheckBox WPF?
Zgaduję, że to odpowie na moje pytanie z tytułu pytania.
Czy istnieje przypadek, gdy właściwość IsChecked w WPF CheckBox ma wartość null?Dlaczego właściwość IsChecked jest wartością logiczną zerowalną w polu CheckBox WPF?
Zgaduję, że to odpowie na moje pytanie z tytułu pytania.
To jest null, kiedy nie wiem, czy jego sprawdzane czy nie: http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.togglebutton.ischecked.aspx
W wielu systemach pole wyboru jak to jest zacieniony zamiast być sprawdzone.
Jeśli tak jest, to prawdopodobnie jest to pole wyboru z trzema stanami, zajrzyj na stronę http://msdn.microsoft.com/en-us/library/system.windows.forms.checkbox.threestate.aspx, aby uzyskać wyjaśnienie.
Null oznacza, że pole jest nieokreślona (nie jest ani puste, ani sprawdzone, a nie to albo ma linię przez niego, czy pole ma szare pole wewnątrz niego)
Jeśli chcemy powiązać wartości z DB i jeśli ta wartość jest zerowa, musimy to również obsłużyć. Boolean DB może mieć wartość True, False lub NULL. Tak więc pole wyboru interfejsu użytkownika musi również obsługiwać tam stany. Właśnie dlatego WPF CheckBox ma trzy stany.
Wydaje się to całkowicie od tyłu jako odpowiedź - zachowanie interfejsu użytkownika nie wynika z faktu, że SQL ma pojęcie NULL. –
@PhilipKendall Zachowanie interfejsu użytkownika zostanie określone przez wartości DB, jeśli użyjemy koncepcji wiązania w WPF. –
Pytanie brzmi, dlaczego pole wyboru ma trzy stany. W DB kolumna Boole'a może mieć trzy wartości (True, False, Null), które mogą być odwzorowane na UI. Właśnie dlatego pole wyboru ma trzy stany ... Co jest nie tak z odpowiedzią, dlaczego tak jest obniżona ... !!! –
Zgaduję, że wystarczy spojrzeć na oficjalną dokumentację ... ale bardziej polegam na stackoverflow, niż na msdn :) –