Я уже немного ударился головой о стену с этим.Проблема с изменением размера ContentControl
У меня есть настраиваемый элемент управления, который происходит из ContentControl - он отлично работает, ИСКЛЮЧАЕТ, что он не будет изменять размер, чтобы соответствовать его родительскому, декларативно или программно.
Пользовательский элемент управления определяется в (в конечном счете) контент-презентатором, и это правильный размер, но мой контроль просто НЕ будет сам по себе соответствовать.
(sample.MyControl) - 400x267
- (System.Windows.Controls.ContentPresenter) - 979x569
Даже когда я явно задать ширину и высоту (в нужный момент), размер не "прилипнет"
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));
Приведенный выше код дает:
MyControl 36022757: Size is 400x267 (Stretch/Stretch)
Parent is 979x569 (Stretch/Stretch)
MyControl 36022757: New size is 400x267
Зачем! О боги Почему!
У кого-нибудь есть идеи?
Это решило проблему для нас, спасибо! +1 –
Хм, я надеялся, что это сработает для той же проблемы в WPF, хотя исправление, похоже, ничего не меняет. :( – Domokun
Я знал об этом все время - получается, что мне нужно было отформатировать контейнер, чтобы применить их к Content Control, который был обернут вокруг моего элемента управления. – Rammesses