Mentre alcuni controlli WPF riempiono tutti gli spazi disponibili quando sono strutturati e resi, gli altri no. In particolare, il controllo Immagine non è di un tipo che stabilisce le sue dimensioni da solo, vale a dire, nei casi in cui non si specificano le dimensioni del controllo in modo esplicito con attributi larghezza/altezza o simili.
Ma il controllo Grid riempie tutto lo spazio disponibile quando mancano attributi di definizione delle dimensioni. Il modello di pagina/finestra in Visual Studio ha un controllo Grid come figlio di un controllo root di pagina/finestra e quando l'utente inizia a mettere i controlli in una pagina in un editor grafico, i controlli aggiunti dall'utente diventano prima figli di questa griglia controllo.
Se è stato utilizzato il modello VS e il controllo Immagine è figlio del controllo Grid, denominare la griglia con un attributo x: Name ed è possibile utilizzare le proprietà ActidWidth/Height della griglia in base alle proprie esigenze in un code-behind, perché il controllo dell'immagine cresce fino alla dimensione Grid del padre, a condizione che non si specifichi la sua dimensione esplicitamente o in altro modo, ad esempio, l'impostazione del contenuto dell'immagine.
proposito, il comportamento dimensionamento dei controlli integrati possono essere cambiati. È possibile modificare un controllo e sovrascrivere le proprietà di dipendenza corrispondenti. Vedi, ad esempio, https://stackoverflow.com/a/6094993.
fonte
2017-11-28 10:05:44
Ho provato fare questo. Ma risultato è lo stesso ( –
@TimurMustafaev Come stai cercando di ottenere i valori? Attraverso codice dietro? Attraverso un legame? E quando stai cercando di ottenere i valori? Il controllo deve essere trasformato prima '' ActualHeigh' e ActualWidth' .. restituirà una dimensione – Rachel
chiamo nuova forma dalla mia MainWindow in questa nuova forma ci sono controlli fiew e uno di loro è Immagine Dopo finestra caricato cerco di ottenere dimensioni come questo:. _imageControl.ActualWidth o _imageControl.ActualHeigh –