2012-04-20 16 views
0

我有一個網格寬度如下柱定義:格列寬 - 混合*(星號),汽車,填補左空間

<Grid.ColumnDefinitions> 
     <ColumnDefinition MinWidth="320" MaxWidth="450" Width=".32*"/> 
     <ColumnDefinition MinWidth="200" Width="Auto"/> 
     <ColumnDefinition MinWidth="200" Width="Auto"/> 
     <ColumnDefinition Width="Auto"/> <- (4) should fill all available space 
     <ColumnDefinition MinWidth="250" MaxWidth="300" Width=".20*"/> 
</Grid.ColumnDefinitions> 

的問題是,在列設置寬度爲自動(4)零它的寬度最後一列在第三個旁邊。我想讓最後一列與應用程序的右邊緣對齊,並向左前三位。我也不能設置(4)寬度爲星號(*) - 顯然它相對於第一列和最後一列延伸。

我一直在嘗試與horizo​​ntalalignments一段時間,但作爲一個結果 - 內容不填充列的寬度。我可能可能會將內容寬度綁定到列寬或像這樣,但我很好奇是否有一些簡單的方法來實現(4)列填充所有左側空間。

+0

我想了解你的問題。爲什麼以下聲明是一個問題?從你的帖子:「我也不能設置(4)寬度到星號(*) - 顯然它相對於第一列和最後一列延伸。」 – 2012-04-20 16:15:08

回答

2

我認爲你並沒有完全摒棄代表加權平均的(*)。

所以爲你的情況。

<Grid.ColumnDefinitions> 
    <ColumnDefinition MinWidth="320" MaxWidth="450" Width="3*"/> 
    <ColumnDefinition MinWidth="200" Width="Auto"/> 
    <ColumnDefinition MinWidth="200" Width="Auto"/> 
    <ColumnDefinition Width="5*"/> 
    <ColumnDefinition MinWidth="250" MaxWidth="300" Width="2*"/> 
</Grid.ColumnDefinitions> 

如果您希望使第(4)列減小*權重並增加您喜歡的位置。

希望它有幫助...

+0

Thx爲答案。我知道重量 - 我只是寫得不一樣。如果我寫.3 *和.5 *而不是3 *和5 *,那麼根本沒有區別。問題是,如果我將(4)列設置爲5 *,如果將窗口大小調整爲小尺寸,它不會將其大小減小到0。我想要4列不影響其他人的大小 - 只要填寫左邊的空間 - 如果有的話。 – Joe 2012-04-20 13:36:22

+2

@Joe據我所知,當你減小尺寸時它應該是cuz ..它降低了重量比率...嘗試去除所有'Auto'並設置相同的最小和最大寬度 – Ankesh 2012-04-20 18:13:26

+0

嘿,它實際上沒有Autos工作。 Thx的幫助! – Joe 2012-04-23 06:27:30