我有一個名爲Canvas
和mainCanvas我在編程的WPF的StackPanel AUTOSIZE
爲了增加一個ScrollViewer
和StackPanel
它... mainCanvas
......滾動視圖
......... PNL
............(更多堆疊控制)
我試圖讓我的聖ackPanel將自動調整爲mainCanvas大小,並允許在滾動過大時進行滾動。到目前爲止的代碼是低於
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);
不幸的是,StackPanel不適合父母和不自動大小。
mainCanvas
XAML中已經存在與設置:
WIDTH = 「自動」
高度= 「自動」
的HorizontalAlignment = 「拉伸」
VerticalAlignment = 「拉伸」
我可以把事情通過pnl.Height = 500;
這讓我看到滾動條不工作,如果半工作Stackpanel高度受到限制。但這只是手動將高度調整爲全屏尺寸,因此在調整應用程序大小時不會自動調整大小。
我希望設置pnl.Height = Double.NaN;
自動和V/H調整Stretch將工作,但StackPanel仍然重疊所有控件的最大尺寸。
任何人都可以指向正確的方向,讓我的StackPanel適合父mainCanvas和autosize當我調整父母和/或主應用程序窗口滾動?
謝謝
好像畫布是問題。使用網格來解決它。謝謝 – user3357963