다른 질문에 링크 된 Windows Vista UI 지침을 읽었으며 120 DPI로 전환해도 살아남을 수 있어야한다고 언급했습니다. 글쎄, 내 응용 프로그램과 함께 내 편리한 VM을 설치하고, 우리가 얻을 ... AAAAGH !!! 대규모 UI가 실패합니다!글꼴 크기에 영향을받지 않는 UI : 120 DPI로 전환하면 모든 것이 손상 되었습니까?
모든 것이 엉망입니다. 일부 컨테이너는 텍스트가 충분하지 않습니다. "서로의 옆에"놓인 몇몇 통제는 지금 함께 모두 찌그러 뜨려진다/흩어지고; 몇몇 단추는 충분히 키 크지 않습니다. 내 ListView
열이 충분하지 않습니다 ... eeek.
완전히 다른 접근 방식 인 것처럼 들립니다. 내 이전 버전은 기본적으로 VS2008 Windows Forms 디자이너를 사용하여 픽셀 기반 레이아웃을 만들었습니다. 윈도우 폼을 고수한다면 FlowLayoutPanel
s가 도움이 될 것입니다.하지만 과거에는 그다지 융통성이 없었습니다. 또한 컨테이너 (예 : 양식 자체)가 충분히 크지 않은 문제를 해결하지 못합니다. 아마도 그럴 수있는 방법이 있을까요? 어쩌면 AutoSize
속성일까요?
이것은 WPF로 이동하는 시점이기도합니다. 나는 그것이 이런 종류의 것을 위해 특별히 설계되었다는 인상을 받고있다.
는기본 문제는 아래로 다음에 오는 것 : 나는 사용자 설정에서 살아남을 수있는 글꼴 크기의 독립적 인 레이아웃을 달성하기 위해 모든 트릭이 무엇인지 윈도우 폼, 고수한다면
- 자신의 글꼴 크기가 크거나 디스플레이를 120 DPI로 설정합니까?
- 여기에 WPF가 큰 장점이 있습니까? 그렇다면 전환 할 가치가 있다는 것을 WPF에 확신시켜 주시겠습니까?
- .NET 스택 또는 일반적으로 글꼴 크기에 독립적 인 레이아웃에 대한 일반적인 "모범 사례"가 있습니까?
저는 항상 앵커, 독, AutoSize 및 TableLayoutPanels를 사용하여 크기를 조절할 수 있고 크기를 조정할 수있는 UI를 구현했습니다. 그러나 높은 DPI 설정에서 "XP 스타일 DPI 배율 조정"확인란을 선택하지 않으면 모든 응용 프로그램에 흐린 글꼴이 있음을 발견했습니다. 그걸 고치기위한 요령? –
@romkyns : 응용 프로그램에 특별히 "high-dpi aware"라고 명시하지 않는 한, 다른 모든 버그가있는 응용 프로그램과 동일한 kludge fix를 얻을 수 있습니다. 현재 dpi를 요청할 때 앱이 거짓말을하고 (96이라고 말하면) 그래픽 카드가 양식을 확대하여 흐리게 만듭니다. 마이크로 소프트는 개발자들이해야 할 일을 포기하도록 포기했기 때문에 모든 사람들이 스케일링을 배제해야합니다. Google :'dpiAware' 매니페스트. –