2013-07-02 22 views
5

Sto usando wpf su C# per progettare la GUI e voglio ottenere le dimensioni dello schermo (il valore di Larghezza e Altezza) dal codice xaml.Come ottenere le dimensioni dello schermo da xaml?

sapevo come ottenere loro di codice C# come

Width = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width; 
    Height = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height; 

Ma non so come ottenere loro di XAML codice.

risposta

13

Questo funzionerà. Si può leggere di più here su SystemParameters

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <StackPanel> 
     <TextBlock Text="{Binding Source={x:Static SystemParameters.FullPrimaryScreenHeight}}" /> 
     <TextBlock Text="{Binding Source={x:Static SystemParameters.FullPrimaryScreenWidth}}" /> 
     <TextBlock Text="{Binding Source={x:Static SystemParameters.PrimaryScreenHeight}}" /> 
     <TextBlock Text="{Binding Source={x:Static SystemParameters.PrimaryScreenWidth}}" /> 
    </StackPanel> 
</Window> 
+0

Ha funzionato! Grazie! – TTGroup

6

Partenza classe SystemParameters: http://msdn.microsoft.com/de-de/library/system.windows.systemparameters.fullprimaryscreenheight.aspx

è possibile utilizzarlo in questo modo:

<Object Attribute="{x:Static SystemParameters.FullPrimaryScreenHeight}"/> 

(Si potrebbe anche usare l'x: la notazione statico per interrogare il Windows Form proprietà, tuttavia, se si' per lo sviluppo di un'applicazione WPF la classe SystemParameters potrebbe essere la strada da percorrere)

+0

Ha funzionato! Grazie! – TTGroup

2

dire il vostro contenitore padre in XAML è griglia, il nome come grdForm

Nel codice dietro possono ottenere le dimensioni come

double width = grdForm. ActualWidth

doppia altezza = grdForm.ActualHeight

Problemi correlati