Ho il seguente mark-up in una vista. Quando ottengo WindowContainer.Width
durante il codice di avvio per la vista, restituisce NaN
.Perché la larghezza della mia griglia NaN?
<Border BorderThickness="10">
<StackPanel x:Name="Panel" Orientation="Vertical" >
<Grid x:Name="WindowContainer" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Loaded="WindowContainer_OnLoaded">
<delphi:Win32WindowHost x:Name="Host" />
</Grid>
<TextBlock x:Name="InfoTextBlock" HorizontalAlignment="Right" />
</StackPanel>
</Border>
Vuol Stretch
rendere il tratto griglia per ospitare tutto il suo contenuto, o per riempire il suo contenitore? Voglio che si allunghi per riempire il contenitore, lo Border
, e che abbia una larghezza double
corretta che posso usare per ridimensionare una finestra mobile con le stesse dimensioni.
'Double.NaN' è solo il valore predefinito della proprietà' Larghezza'. Significa che nessuna larghezza è impostata in modo esplicito. Si dovrebbe sempre usare la proprietà 'ActualWidth' per ottenere la larghezza effettiva di un elemento. – Clemens