2011-05-17 23 views
2

我從Windows窗體生成的XAML文件,並與處理,計算右側和底部邊緣,因爲他們沒有在形式存在。在Win形式產生滾動內容切緣陰性

<Grid> 
    <TextBox Width="129" Height="18" Margin="36,46,278,686" /> 
    ... 
    <TextBox Width="54" Height="18" Margin="345,705,83,31" /> 
    <TextBox Width="54" Height="18" Margin="345,728,83,8" /> 
    <TextBox Width="54" Height="18" Margin="345,770,83,-34" /> 
    ... 
</Grid> 

的問題是,電網的含量太大,即使是設計師,所以滾動條:我有這樣的輸出。但是,這不是WPF中的情況,所以我嘗試在它周圍添加ScrollViewer。但它只能滾動到具有積極底部邊緣的內容。帶有負邊界的控件不顯示在任何位置。

不知道如何解決這個問題表示讚賞。

回答

1

Grid是此任務的錯誤的事情。如果你要自己做的定位,你應該使用一個Canvas,然後使用Canvas.LeftCanvas.Top來定位它。因爲你似乎知道WidthHeight你不需要BottomRight值。

我相信你應該也可以使用圍繞Canvas對象的ScrollViewer

+0

我已經試過了,但我的元素仍然不可見。問題是Canvas的高度大約爲500,而Canvas.Top的元素大約在1000左右。如果我把它做得更小,我的控件會過於密集。 – Vale 2011-05-17 13:38:12

+0

好吧,如果你將'Canvas.Top'值設置爲1000,那麼你將會離開任何應用程序的屏幕(認爲普通的全屏應用程序的尺寸小於1280x1024)。因此,如果您不得不將原始元素放置在遠離原點的位置,那麼您需要在'Canvas'周圍添加一個'ScrollViewer'並將'Canvas'的大小設置爲足夠大以包圍所有元素。 – Tim 2011-05-17 13:41:08

+0

這樣做,我將ScrollViewer高度設置爲500並解決了它。謝謝! – Vale 2011-05-17 13:46:32