У меня странная проблема при изменении размера родительского элемента холста, которая случается с быть ChildWindow.
С высокого уровня это то, что я ' m пытается сделать, когда пользователь нажимает кнопку:
Шаги 1 и 2 работают нормально. Проблема связана с шагом 3: когда я просматриваю код F # / Silverlight, все размеры кажутся заданными правильно. Проблема в том, что ChildWindow отображается на экране как намного выше, чем должно быть на самом деле.
Взгляните на пример ниже:
member this.btnWhatever_Click(sender : obj) (args : RoutedEventArgs) =
let parentWindow = this.Parent :?> ChildWindow // get the canvas' parent, and cast it to a ChildWindow
// if the RowDefinition height is set to our standard, the hide it by setting it to 0
if this.aRowDefinition.Height.Value.Equals STANDARD_ROW_HEIGHT then
this.aRowDefinition.Height <- new GridLength(0.)
this.Height <- this.Height - HEDGE_ROW_HEIGHT
parentWindow.Height <- parentWindow.Height - STANDARD_ROW_HEIGHT
this.btnCreateOrRemoveHedge.Content <- "On"
// otherwise, unhide the RowDefinition by setting it to the standard height
else
this.aRowDefinition.Height <- new GridLength(STANDARD_ROW_HEIGHT)
this.Height <- this.Height + STANDARD_ROW_HEIGHT
parentWindow.Height <- parentWindow.Height + STANDARD_ROW_HEIGHT
this.btnWhatever.Content <- "Off"
()
В этом случае мой STANDARD_ROW_HEIGHT составляет всего 23 пикселя , и все же пустое пространство в 92 пикселя добавляется к ChildWindow под строкой заголовка после того, как пользователь нажимает кнопку. Более того, заключается в том, что, когда пользователь нажимает кнопку еще раз (для переключения видимости строки), строка исчезает, но остается дополнительное пространство в верхней части окна. Изначально этого пустого места нет. См. Это изображение:
Мы будем благодарны за любые мысли / помощь. Спасибо!