Итак, я читал те рекомендации по пользовательскому интерфейсу Windows Vista, на которые кто-то ссылался в другом вопросе, и они упомянули, что вы сможете пережить переключение на 120 точек на дюйм. Ну, я запускаю свою удобную виртуальную машину с установленным приложением, и что мы получаем ... АААААА !!! МАССИВНАЯ НЕИСПРАВНОСТЬ UI!
Все перемешано: некоторые контейнеры не достаточно велики для своего текста; некоторые элементы управления, которые были расположены «рядом друг с другом», теперь сдвинуты вместе / раздвинуты; некоторые пуговицы недостаточно высокие; мои ListView
столбцы недостаточно широки ... эй.
Похоже, здесь нужен совершенно другой подход. Мой предыдущий в основном использовал конструктор Windows Forms VS2008 для создания, я полагаю, макета на основе пикселей. Я вижу, что если бы я придерживался Windows Forms, FlowLayoutPanel
s были бы мне полезны, хотя в прошлом я считал их довольно негибкими. Они также не решают проблему, когда контейнеры (например, сама форма) недостаточно велики; по-видимому, есть способ сделать это? Может, это AutoSize
свойство?
Это также может быть признаком того, что пора перейти на WPF; У меня сложилось впечатление, что он специально разработан для такого рода вещей.
Основная проблема, кажется, сводится к следующему:
- Если бы я придерживался Windows Forms, каковы были бы все уловки для достижения независимого от размера шрифта макета, который мог бы выжить, если бы пользователь установил свои шрифты большими или установил отображение на 120 точек на дюйм?
- Есть ли здесь у WPF значительные преимущества, и если да, то можете ли вы убедить меня, что это стоит перехода?
- Существуют ли какие-либо общие «лучшие практики» для макетов, не зависящих от размера шрифта, в стеке .NET или вообще?