WPF-StackPanel-autosize

Ich habe eine Canvas namens mainCanvas und ich bin programmgesteuert hinzufügen eines ScrollViewer und ein StackPanel um es in Ordnung von

...mainCanvas

......scrollView

.........pnl

............ (mehr gestapelt Kontrollen)

Ich bin versucht, meine StackPanel-Steuerelement, um automatisch die Größe, um die mainCanvas Größe und lassen Sie scrollen, wenn es zu groß ist. Code so weit unten

mainCanvas.Children.Clear();

//Create the container
ScrollViewer scrollView = new ScrollViewer();
scrollView.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
scrollView.CanContentScroll = true;
scrollView.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
scrollView.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;

StackPanel pnl = new StackPanel();
//pnl.Height = 500; //Works and allows scrolling but doesn't resize
pnl.Height = Double.NaN; //(Double.NaN is Auto) Doesn't Work - StackPanel overflows parent window

pnl.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
pnl.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;


scrollView.Content = pnl;

//Add the ScrollView and StackPanel to Parent Window
mainCanvas.Children.Add(scrollView);

Leider StackPanel passt nicht zu den Eltern, und nicht automatisch.

mainCanvas bereits in XAML mit Einstellungen:

Width= "Auto"

Height= "Auto"

HorizontalAlignment = "Stretch"

VerticalAlignment = "Stretch"

Bekomme ich Dinge, die semi-Arbeit durch die Verwendung pnl.Height = 500; was zeigt mir die scrollbar funktioniert, wenn das Stackpanel-Steuerelement Höhe beschränkt ist. Aber dies ist nur manuell Montage der Höhe nach auf die volle Bildschirmgröße und so nicht autosize wenn die Größe des app.

Ich hoffte Einstellung pnl.Height = Double.NaN; auto-und V/H Anpassung an Strecke funktionieren würde, aber das StackPanel noch überschneidungen, die alle Steuerelemente auf seine maximale Größe.

Kann jemand mich in die richtige Richtung, um mein StackPanel passen die Eltern mainCanvas und autosize, wenn ich die Größe entweder der Muttergesellschaft und/oder die wichtigsten app-Fenster mit Lauftext?

Danke

InformationsquelleAutor user3357963 | 2012-09-03
Schreibe einen Kommentar