2013-06-03 77 views
1

我正在使用Windows應用商店應用。我是XAML開發新手。爲什麼XAML中的'*'不能按預期工作?

我試圖讓一些網格內的元素相對於彼此的大小。看完這樣的問題後(​​What does the WPF star do (Width="100*")),我想我已經明白了。下面的例子似乎沒有做我期望的。

取而代之的是看到'Foo'在左邊,'Bar'在右邊(因爲Foo的列應該是6倍大小),我只看到'FooBar'。任何人都知道發生了什麼事?

<Grid Margin="10"> 
     <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="6*" /> 
     <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 

     <TextBlock Grid.Column="0" Text="Foo" /> 
     <TextBlock Grid.Column="1" Text="Bar" /> 
    </Grid> 
+0

您是否嘗試在''元素上添加'Horizo​​ntalAlignment ='Stretch''? – Alyce

+0

你的代碼工作得很好。但注意;我在'Window'上沒有'size' ...可以嘗試刪除'window'元素的默認大小.. –

+0

我們可以看到'xaml'的'window'元素..如果這是您的'xaml'中的唯一其他代碼 –

回答

1

如果您的網格大小是由內容決定的(相對於它的容器)據this tutorial明星上漿不起作用。您可以嘗試爲網格指定一個寬度,或者將其拉伸以填充容器。

+0

這或多或少是根本原因。 在我的情況下,我有這個網格作爲ListView中的DataTemplate。我需要以某種方式設置ListView的ItemContainerStyle屬性,以便網格始終填充容器以避免此問題。 –

相關問題