2013-03-29 11 views
5

http://i.stack.imgur.com/2gOLN.pngC# WPF dimensione diversa dall'IDE dopo il debugging?

Sto avendo un problema con aspetto diverso in Blend/VS2012 IDE e in Debugging. In IDE, lo Rectangle è al centro, ma quando è compilato o sottoposto a debug, la dimensione del margine è diversa. A mio avviso, ciò si verifica perché la dimensione del bordo della finestra è diversa. Voglio davvero risolvere questo problema. Eventuali suggerimenti?

Grazie.

XAML

<Window x:Class="WpfApplication2.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="202" Width="194"> 
<Grid HorizontalAlignment="Left" Height="171" VerticalAlignment="Top" Width="186"> 
    <Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="151" Margin="10,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="166"/> 
</Grid> 

Redatta XAML codice:

<Window x:Class="WpfApplication2.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="202" Width="194"> 
<Grid HorizontalAlignment="Left" Height="171" VerticalAlignment="Top" Width="186"> 
    <Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Center" Height="151" Margin="10" Stroke="Black" VerticalAlignment="Center" Width="166"/> 
</Grid> 

risultato è lo stesso. È questo problema del mio PC?

+0

Potete fornire il codice xaml? – Xelom

+0

Xelom, ho aggiunto il codice xaml. Grazie per l'attenzione. – jn4kim

+0

Cambia margine su Margine = "10" e imposta Allineamento orizzontale e verticale su Stira o Centra. –

risposta

5

Il tuo problema qui è Dimensione della finestra include la dimensione di Chrome (bordo della finestra e cose simili a pulsanti di chiusura/max.

La tua griglia è quindi la dimensione richiesta ma non si adatta alle dimensioni della finestra richieste.

ho potuto risolvere il problema di rendere la finestra di output simile a questa, con la dimensione della finestra:

Larghezza: 202 Altezza: 210

su Windows 8

Tuttavia si dovrebbe piuttosto avere il vostro dimensione della finestra impostata SizeToContent="WidthAndHeight"

Esempio:

<Window x:Class="WpfApplication4.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:local="clr-namespace:WpfApplication4" 
     x:Name="window" 
     Title="MainWindow" 
     SizeToContent="WidthAndHeight"> 
<Grid HorizontalAlignment="Left" Height="171" VerticalAlignment="Top" Width="186"> 
    <Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="151" Margin="10,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="166"/> 
</Grid> 
</Window> 

In questo modo non si presume dimensioni di Chrome che potrebbero essere diverse da diverse versioni di Windows.

Si dovrebbe anche ottenere Snoop. Ti aiuta a eseguire il debug di questi problemi molto facilmente, mostra un bordo rosso su un controllo quando ti passi sopra con Shift + Ctrl, così puoi vedere il Grid estendersi oltre la finestra visibile mentre mostri il layout reale dell'interfaccia utente

Image

+0

Grazie !! Apprezzo molto il vostro aiuto. – jn4kim

Problemi correlati