我已經創建了一個數據網格並將其放置在一個WPF表單中。窗口內的自動伸縮數據網格?
現在我想要做的是讓數據網格更改其大小保持與原始位置相同的比例與WPF窗口更改大小(希望這是有道理的)。
我試着將autostretch設置爲true,但這並沒有幫助。
我已經創建了一個數據網格並將其放置在一個WPF表單中。窗口內的自動伸縮數據網格?
現在我想要做的是讓數據網格更改其大小保持與原始位置相同的比例與WPF窗口更改大小(希望這是有道理的)。
我試着將autostretch設置爲true,但這並沒有幫助。
得到我的電腦與Visual Studio在我的辦公室,所以不能測試它:)但不應該這項工作,如果你設置路線拉伸?
datagridObj.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; datagridObj.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
確定它是有道理的,但它聽起來像你不太瞭解WPF佈局系統是如何工作的,除非你這樣做,否則今後會非常痛苦。簡短的故事是,你需要有一個合適的容器 - 我推薦使用Grid - 並將DataGrid放置在該容器中。然後,您可以爲DataGrid設置頁邊距等,然後按照您的喜好放置它,並在寬度和高度設置爲「自動」的情況下,它將與其父容器保持一致。
現在,如果您在圖片中還有其他幾個控件,當然它會涉及更多一些,但我仍然建議您使用網格並將它們分割成您需要的許多行和列,然後爲其高度設置適當的值/寬度 - 您可以將一些列固定爲寬度或其他列的倍數,或將它們保留爲自動,並且它們將佔用剩餘的空間。
的主題是多少,當然更多的參與,但你可以找到在MSDN上一個快速入門:http://msdn.microsoft.com/en-us/library/ms745058.aspx
如果你還記得的只有一件事,它應該是這樣的:網格代表了WPF流體佈局,使用他們儘可能多,而不是Canvases。當然,StackPanel和DockPanel等都有其特定的用途。
P.S.視覺工作室設計師通常會設置一些混亂的東西,通過設置邊距等以使拖放更直觀,您應該密切關注它修改的屬性,並查看您是否更好地手動定位通過修改XAML(你通常是),一旦你勾勒出佈局。
就像例如
<Window x:Class=""
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid Margin="162,57,141,54"/>
</Grid>
</Window>
默認爲DataGrid
是
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
所以你只需要像阿諾Saxena先生一個保證金告訴你
您是否嘗試過設置你的左,右邊際值,以便網格被迫相對於表單拉伸/收縮? – KodeKreachor 2013-02-26 01:23:09