2011-04-07 6 views
0

사용자 화면 해상도에 따라 기본 글꼴 크기를 사용하고 싶습니다. 즉, 화면 작업 영역의 폭은 1024 미만의 사용 글꼴 크기 (10) 다른 사용 글꼴 크기 인 경우 14 현재WPF 글꼴 크기를 화면 크기에 따라 설정하십시오.

내가 전역 글꼴 크기를 설정하고 가질 수있는 폭을 결정하기 위해 "SystemParameters.WorkArea.Width"를 사용하고 있습니다 글꼴 크기를 반환하는 변환기를 사용하지만 실제로 불을 켤 수있는 방법을 찾기 위해 고심하고 있습니다. 즉. 창 크기 변경, 내가 아래 이벤트를 발견

<Window.Resources> 

    <local:SetFontSize x:Key="myConverter" /> 

    <Style TargetType="{x:Type Control}" x:Key="baseStyle"> 
     <Setter Property="FontSize" Value="14" /> 
     <Setter Property="FontFamily" Value="Calibri" />   

</Window.Resources> 

는 글꼴 크기를해야 내용을 확인 만들지 만, 그냥이 길을 잘못에 대해 갈 수도 있지만 (함께 두 가지를 연결하는 것 할 수없는 경우)

<Window.Triggers> 
    <EventTrigger RoutedEvent="SizeChanged">   
    </EventTrigger> 
</Window.Triggers> 

답변

1

어쨌든 이것을 원하십니까? Wpf는 추상 좌표를 사용하고 현재 모니터 DPI 및 해상도를 사용하여 픽셀로 변환합니다. 따라서 응용 프로그램이 모든 화면에서 자동으로 비슷하게 보이도록 조정해야합니다. 신축성이있는 레이아웃을 사용하거나 스크롤바 등을 사용하여 제안 할 것입니다. 작은 화면에서 앱을 사용하도록 설정하려면.

+0

여러분, 고맙습니다. 두 분 모두 말하는 것과 내 접근 방법을 다시 생각해 보겠습니다. 나는 DPI 설정에 상관없이, 800x600과 1920x1200 사이의 텍스트 크기에는 엄청난 차이가 있음을 알 수있다. 나는 텍스트 상자 strech를 만들 수 있지만 이상하게 보이게 할 수있는 'font strech'라는 라벨을 만들 수는 없다. –

1

WPF 앱은 'DPI 인식'이며 글꼴 크기는 픽셀 단위가 아닙니다. 사용자가 다른 DPI 설정을 사용하여 글꼴 크기를 늘리면 자동으로 WPF 앱에 반영됩니다. 사용자가 DPI 설정을 사용해야 할 가능성이 있습니까?

(다른 애플 리케이션은 글꼴 크기 (10)를 사용하고 그들은 아마도 자신의 DPI를 조정 것 그 응용 프로그램을 다시 작성하기보다는, 너무 작의 경우 - 다른 앱이 글꼴 크기 10를 사용하지 않는 경우, 모든 사용자를 위해 아마 너무 작은 것)

나는 이것이 대답이 아니라는 것을 알고있다. 그러나 DPI 설정을 조정하지 않을 사람들을 위해 디자인을 희생하고 물건을 해킹해야하는 것은 수치 스럽다. 너무 부정적입니까? :)

관련 문제