Buduję aplikację w WPF na niestandardową potrzebę. Najpierw zdecydowałem się na niestandardowe sterowanie, ale później zorientowałem się, że wiele z tego, co potrzebowałem, zostało już zaimplementowane w Datagrid Control. Jednak nie jest małe usterki:Jak wymusić zero pikseli Przerw między kolejnymi komórkami w WPF DataGrid
Problem DataGrid że wymusza minimum 2 pikseli szczeliny między dwoma następującymi po sobie ogniw (1 po każdej stronie linii siatki). Proszę spojrzeć na poniższy wykres dla jasności:
. Uwaga lukę 2 pikseli egzekwowane przez DataGrid pomiędzy dwoma kolejnymi komórkami: http://img265.imageshack.us/img265/3545/figurem.png
(przepełnienie stosu nie pozwolił mi dodać zdjęcie do mojego pytania, powołując się na zasadę ochrony spam dla nowych użytkowników)
.
To nie odpowiada moim wymaganiom, ponieważ chcę, aby treść wyglądała na "ciągłą" (Nie może być luki 2 pikseli, chcę, żeby linie łączące wyglądały "połączone"). Próbowałem wiercić z GridLinesVisibility, ale to nie pomogło. DataGrid jest gospodarzem niestandardowego formantu tak:
<DataGrid.Columns>
<DataGridTemplateColumn Width="25" Header="">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ContentControl Content="{Binding Path=MyCustomControl}" Margin="0"></ContentControl>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
....
</DataGrid.Columns>
mam dotąd próbowałem:
- Wyłączanie linia siatki (patrz prowadzić tutaj: http://img263.imageshack.us/img263/8602/figure2j.png)
- Ustawianie marginesu właściwości content do 0.
- Przeszukano google i stackoverflow
- Consulted some books.
ale nic nie wydaje się wymyślić.
Czy istnieje rozwiązanie tego/niektóre hack lub obejścia lub musiałbym utworzyć wszystko od zera? Mam przyzwoite doświadczenie z C#, ale jestem nowy w WPF.
Proszę o pomoc.
Wow! To się udało! To zaoszczędziło mi dużo czasu! nie mogłem o tym myśleć. Wielkie dzięki! –