2014-12-06 4 views
1

여러 화면 크기에 비례하여 전체 화면 WPF 응용 프로그램을 만들려고합니다. 그러나, 내가 발견 한 것은 화면 요소가 다른 화면 크기의 프로그램 일 때 올바르게 배율을 조정하지 못한다는 것입니다. 내가 얻을 것 어떻게 다른 화면 크기에서 WPF 응용 프로그램 내의 요소 크기 조절

enter image description here

을 실행할 때

enter image description here

VS2013

에 프로그램이 따라 확장 할 수 즉 즉

? 예를 들어, 화면의 왼쪽이나 오른쪽에있는 버튼과 화면을 채우도록 크기를 조정하는 목록 상자를 배치하고 싶습니다.

이 내 코드는 지금까지 있습니다 :

<Window x:Class="FYP.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" WindowStartupLocation="CenterScreen" WindowState="Maximized"> 
    <Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="2*"/> 
      <ColumnDefinition Width="2*"/> 
     </Grid.ColumnDefinitions> 
     <Button Content="View Messages" Grid.Column="1" HorizontalAlignment="Left" Margin="203,20,0,0" VerticalAlignment="Top" Width="97" Name="ViewMessagesButton"/> 
     <Button Content="Log Out" Grid.Column="1" HorizontalAlignment="Left" Margin="305,20,0,0" VerticalAlignment="Top" Width="65" Name="LogOutButton"/> 
     <TextBlock HorizontalAlignment="Left" Margin="20,20,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Height="20" Name="DateTimeTextBlock"/> 
     <ListBox HorizontalAlignment="Left" Height="434" Margin="20,60,0,0" VerticalAlignment="Top" Width="350"/> 
     <ListBox HorizontalAlignment="Left" Height="135" Margin="20,60,0,0" VerticalAlignment="Top" Width="350" Grid.Column="1"/> 
     <ListBox HorizontalAlignment="Left" Height="278" Margin="20,216,0,0" VerticalAlignment="Top" Width="350" Grid.Column="1"/> 
    </Grid> 
</Window> 

답변

1

개체의 크기를 위아래로 조정하려는 경우 (크기 조정과 반대) 개체 배치의 가로 세로 비율을 처음 정렬 한대로 유지하려면 WPF's ViewBox 컨트롤을 사용해야합니다.

1

귀하의 문제는 당신이 당신의 모든 컨트롤에 콘크리트 크기를 설정 한 것입니다. 컨트롤의 폭과 높이를 제거하고 원하는만큼 여백을 설정하십시오.

1

너비와 높이를 제거하고 수평 및 수직 정렬을 늘리십시오.

관련 문제