Где поля/дополнение установлены на wpf ListView GridView?

Во-первых хороший vi (m) знание сохранит Вас время, которое необходимо толкнуть, чтобы сделать чрезвычайное редактирование файлов конфигурации на сервере под осадой. Это может поддержать на отстающем соединении SSH.

Администраторский материал в стороне метод ввода энергии будет Вашей лучшей защитой против кистевого туннеля при использовании его эффективно с эргономичной клавиатурой.

лучший способ видеть точку энергии состоит в том, чтобы запустить случайный проект дома, отключить Вашу мышь и ленту по Вашим клавишам со стрелками.

И читают справку

10
задан serialhobbyist 29 August 2009 в 14:42
поделиться

3 ответа

Используйте Snoop , чтобы выяснить, какой элемент отвечает за наложение дополнительного интервала. Наведите указатель мыши на пробел и удерживайте нажатой клавишу Control и Shift. После этого элемент будет выделен в визуальном дереве.

6
ответ дан 3 December 2019 в 13:18
поделиться

по умолчанию, каждая ячейка имеет жестко заданное поле 6,0. Наверное, это твоя проблема. Вы можете изменить это поведение, установив маржу -6,0 в шаблоне ячейки

.
9
ответ дан 3 December 2019 в 13:18
поделиться

Многие функции GridView жестко закодированы в классе. В частности, GridViewRowPresenter создает либо жестко закодированный контейнер TextBlock или ContentPresenter для каждой ячейки и заставляет поля равняться 6,0,6,0, нравится вам это или нет.

Обычно я бы отговаривал вас от всего, что связано с жестким кодированием отрицательных полей для компенсации, поскольку это хак, наслоенный на другой хак. Однако после разборки GridViewRowPresenter других вариантов не осталось.

Первой моей попыткой было переопределить неявный стиль для элемента управления контейнера, который был создан в классе GridViewRowPresenter, но этот элемент управления является TextBox или ContentPresenter, у которого нет шаблона для переопределения.

Второй моей попыткой было разобрать код и создать новый GridViewRowPresenter. Боюсь, что в классе слишком много "внутренних" вызовов, чтобы это было работоспособным решением.

Более умный архитектор предусмотрел бы DependencyProperty, которая позволила бы пользователю класса переопределить контейнер, создаваемый для каждой ячейки. По какой-то причине они разрешили это для заголовков, но не для фактического содержимого ячеек.

Таким образом, мы остаемся с тем фактом, что ячейки в GridRowPresenter не могут быть ни переопределены, ни переработаны, ни созданы по шаблону. Мне жаль, но отрицательные поля - это лучшее, что можно сделать с этим классом.

Нам нужен лучший ListView: GridView не подходит для интерфейса без просмотра, хотя я понимаю, что первоначальные архитекторы пытались сделать, отделив ItemsPresenter от представления.

38
ответ дан 3 December 2019 в 13:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: