2013-06-03 76 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属性,以便网格始终填充容器以避免此问题。 –

相关问题