我創建了一個窗口,如下所示:如何將滾動條添加到窗口在C#
Window myWindow = new Window();
我如何添加一個垂直滾動條到這個Windows並使滾動條,如果高度」不是個纔可見足以顯示所有元素。
我創建了一個窗口,如下所示:如何將滾動條添加到窗口在C#
Window myWindow = new Window();
我如何添加一個垂直滾動條到這個Windows並使滾動條,如果高度」不是個纔可見足以顯示所有元素。
你可以一個ScrollViewer元素添加到您的窗口,把必要的控制進的ScrollViewer控制。
<ScrollViewer VerticalScrollBarVisibility="Auto">
...
</ScrollViewer>
或者,如果你想在代碼代碼隱藏文件,你可以寫
ScrollViewer viewer = new ScrollViewer();
viewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
// append scroll viewer to window
您不能將一個滾動條添加到窗口本身。您只能將滾動條添加到控件。 I.E.到窗戶內的網格。
例子:
<Grid ScrollViewer.CanContentScroll="True"
ScrollViewer.HorizontalScrollBarVisibility="Auto">
...
</Grid>
編輯:
剛剛意識到窗口也有一個ScrollViewer中屬性。我不確定此屬性如何適用於窗口,以及這樣的窗口的外觀如何。試一試,但沒有滾動條出現。
編輯2:
ScrollViewer sv = new ScrollViewer();
sv.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;
myGrid.Children.Add(sv);
感謝您的答覆。我沒有使用XAML創建網格,而是使用Programatically usig Grid創建它。我要設置哪些網格屬性來獲得滾動條? – 2011-05-20 07:42:56
我沒有ScrollViewer屬性。你使用的是什麼版本的.NET? – 2011-05-20 07:47:21
@Gunner - 我正在使用.NET 3.5 SP1。 ScrollViewer在System.Windows.Controls.ScrollViewer – Christian 2011-05-20 07:57:02
試試這個
var xpage = your user control or page to which scroll bar need to be added at runtime
xpage.SetValue(ScrollViewer.CanContentScrollProperty, true);
xpage.SetValue(ScrollViewer.HorizontalScrollBarVisibilityProperty, ScrollBarVisibility.Auto);
xpage.SetValue(ScrollViewer.VerticalScrollBarVisibilityProperty, ScrollBarVisibility.Auto);
var scrollViewer = xpage.Content as ScrollViewer;
if (scrollViewer != null)
{
var content = scrollViewer.Content;
scrollViewer.Content = null;
xpage.Content = content;
}
else
{
var content = xpage.Content;
xpage.Content = null;
xpage.Content = new ScrollViewer { Content = content };
}
+1:這個竅門。 – 2011-05-20 07:50:02