2011-11-07 4 views
1

여기에 the guide에 이어 전체 화면 WPF 응용 프로그램을 만들었습니다. 그러나 문제를 만났습니다 : 화면의 다양한 크기 & 해상도. 예를 들어, 여러 개의 스프라이트를 화면에 버튼으로 넣고 싶습니다. 그러나 각 화면의 다른 위치에 있으며 XAML 디자이너에 표시된 것과는 다른 위치에 있습니다.전체 화면 WPF 응용 프로그램에 대한 해상도

실마리가없는 곳에서 수색했습니다. 이 문제를 어떻게 해결할 수 있습니까? (버튼이 중앙에 정확한 위치로 나타나게하고 xaml 디자이너가 프로그램이 실행될 때 어떤 일이 발생하는지 정확하게 반영하도록 도와줍니다.) 어떤 도움을 주시면 감사하겠습니다.

업데이트 :Window 요소 안에 내 페이지를 Canvas으로 정의하고 있습니다. 사실 저는 캔버스를 더 좋아합니다. 왜냐하면 그리드가 아닌 어디에서나 스프라이트를 쉽게 배치 할 수 있기 때문입니다.

+0

레이아웃을 어떻게 정의하고 있습니까? – SLaks

답변

3

일반적으로 WPF에서 픽셀 값을 사용하면 안됩니다.

대신 행과 열을 사용하여 콘텐츠를 에 배치해야하며 정렬 및 행/열 정의에 따라 화면을 채우도록 자동으로 펼쳐집니다.

+0

요소 안에 내 페이지를 으로 정의하고 있습니다. 사실 저는 캔버스를 더 좋아합니다. 왜냐하면 그리드가 아닌 어디에서나 스프라이트를 쉽게 배치 할 수 있기 때문입니다. –

+1

@ HoàngLong입니다. 그래서 다른 해상도로 확장하는 데 문제가 있습니다. "캔버스"유형 솔루션은 종횡비가 변경되지 않는다는 것을 알 때 확장 할 수 있습니다. 이것은 pc 세계에서는 사실이 아닙니다. –

+0

@ HoàngLong : 캔버스를 사용하지 마십시오. 그것은 당신에게 스케일링을위한 고통의 세계를 줄 것입니다. WPF의 레이아웃 시스템은 시간을내어 작동하는 방식을 이해하면 훨씬 강력합니다. – SLaks

1

캔버스를 사용하지 마십시오. 또한 레이아웃을 작성하는 데 디자이너에게 너무 의지하지 마십시오. Grids, Stackpanels 및/또는 Dockpanels를 사용하면 훨씬 더 나은 결과를 얻을 수 있습니다 (창 크기를 조정할 때 크기 조절 가능). 예를 들어 디자이너 만 사용하고 요소를 모두 드래그 앤 드롭하면 디자이너는 종종 거대한 마진을 임의로 설정합니다. 그리고 창 크기를 조정하면 디자이너가 제대로 확장되지 않습니다.

+0

이 필요하다. 프로그램이 실행 중일 때 디자이너에서 똑같이 보일 영역을 만들어야한다. 설계자가 보여준 것이 프로그램이 보여주는 것과 다르다는 사실 (설계자와 비교할 때 약간의 오른쪽 지향성을 가짐)은 설계와 같은 인터페이스를 만들어야하기 때문에 저를 귀찮게합니다. –