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