Je me suis cogné la tête contre un mur avec celui-ci pendant un moment maintenant.Problème avec le redimensionnement de ContentControl
J'ai un contrôle personnalisé qui dérive de ContentControl - il fonctionne parfaitement SAUF qu'il ne sera pas redimensionné pour s'adapter à son parent, soit de façon déclarative OU par programmation.
Le contrôle personnalisé est parent dans (en fin de compte) un présentateur de contenu, et est correctement dimensionné, mais mon contrôle ne se taille tout simplement pas pour s'adapter.
(sample.MyControl) - 400x267
- (System.Windows.Controls.ContentPresenter) - 979x569
Même quand je définir explicitement la largeur et la hauteur (au bon moment), la taille n'a pas "coller"
Debug.WriteLine(string.Format("MyControl {0}: Size is {1}x{2} ({3}/{4})",
GetHashCode(), this.ActualWidth, this.ActualHeight,
this.HorizontalAlignment, this.VerticalAlignment));
Debug.WriteLine(string.Format("Parent is {0}x{1} ({2}/{3})",
parent.ActualWidth, parent.ActualHeight,
parent.HorizontalAlignment, parent.VerticalAlignment));
this.Width = parent.ActualWidth;
this.Height = parent.ActualHeight;
Debug.WriteLine(string.Format("MyControl {0}: New size is {1}x{2}",
GetHashCode(), this.ActualWidth, this.ActualHeight));
Le code ci-dessus donne:
MyControl 36022757: Size is 400x267 (Stretch/Stretch)
Parent is 979x569 (Stretch/Stretch)
MyControl 36022757: New size is 400x267
Pourquoi! Oh dieux pourquoi!
Vous avez des idées?
Cela a résolu un problème douloureux pour nous, merci! +1 –
Hmm J'espérais que cela fonctionnerait pour le même problème dans WPF, bien que le correctif ne semble pas changer quoi que ce soit. :( – Domokun
Je savais à ce sujet tout le long - s'avère que j'avais besoin de gabarit le conteneur pour les appliquer au contrôle de contenu qui était enroulé autour de mon contrôle. – Rammesses