Алло,
Я хочу создать пользовательскую стековую панель в WPF, которая автоматически изменяет размеры дочерних элементов до определенного размера в зависимости от высоты панелей. Но высота панелей динамична, потому что она простирается до его родителя. Когда я хочу получить высоту (я попробовал все возможности, см. Код), она всегда равна 0 или не определена, хотя в решении для сборки она определенно не равна 0.
Вот код:
XAML:
<my:AutoSizeButtonStackPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
Код-за:
public class AutoSizeButtonStackPanel : StackPanel
{
public void AddChild(Button newButton)
{
double getPanelHeight;
getPanelHeight = this.ActualHeight; //is 0
getPanelHeight = this.ViewportHeight; //is 0
getPanelHeight = this.Height; //is n. def.
getPanelHeight = this.DesiredSize.Height; //is 0
getPanelHeight = this.RenderSize.Height; //is 0
newButton.Height = getPanelHeight / 2;
this.Children.Add(newButton);
}
}