2009-03-31 28 views
3

Ich behalte eine Touchscreen-Anwendung, die ich in .Net umschreiben. Im Laufe der Jahre hat die Auflösung der Touchscreens stark zugenommen. Die Auflösung ist nicht nur höher, sondern die Pixel sind auch viel dichter, so dass es schwieriger ist, die Touch-Tasten zu sehen/zu bedienen.WPF Größe ändern Windows

Gibt es einen Weg mit WPF, um Anwendungsfenster zu zwingen, sich größer zu skalieren, wenn sich die Auflösung/Pixeldichte ändert? Ich möchte diese Bildschirme nicht alle paar Jahre überarbeiten.

Antwort

5

Ja, gibt es.

Sie können Ihren Container mit der ViewBox von WPF umschließen. Hier geht das Beispiel:

<Window x:Class="TestWPF.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" Height="300" Width="300"> 

    <Viewbox Stretch="Uniform"> 
     <StackPanel Background="Azure" Height="400" Width="300" Name="stackPanel1" VerticalAlignment="Top"> 
      <Button Name="testBtn" Width="200" Height="50"> 
       <TextBlock>Test</TextBlock> 
      </Button> 
     </StackPanel> 
    </Viewbox> 

</Window> 

Screenshot: enter image description here

Consult this topic für weitere Informationen.

+0

Hinweis: Die Viewbox wendet keine Ausdehnung auf Canvas-Komponenten an. – Jeff

1

Dies ist das Standardverhalten, jedes WPF "Pixel" ist 1/96 Zoll und kein tatsächliches Pixel (jetzt ist das einzige Problem, dass praktisch alle Bildschirme auf 96DPI eingestellt sind, unabhängig von der tatsächlichen Bildschirmauflösung).

Verwandte Themen