2015-10-26 123 views
0

我有一个下面的问题, 我winbox8.1上的组合框在其他控件下打开它的项目..任何人都可以有任何解决方案吗?WP8.1 Combobox在其他控件下打开

<Grid> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="*"/> 
    <RowDefinition Height="*"/> 
    <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <Combobox Grid.Row="0"/> 
    <TextBox Grid.Row="1"/> 
    <TextBox Grid.Row="2"/> 
</Grid> 

回答

1

如果您希望您的控件覆盖其他项目,而不是推动它们,只需将您的控件设置为RowSpan即可。它使控制跨越多行。

<Grid> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="*"/> 
    <RowDefinition Height="*"/> 
    <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <TextBox Grid.Row="1"/> 
    <TextBox Grid.Row="2"/> 
    <Combobox Grid.Row="0" Grid.RowSpan="3"/> 
</Grid> 

请注意,Combobox是在TextBoxes之后声明的,以便在它们前面并覆盖它们。

在旁注中,没有必要显式设置Grid.Row(或列),如果它是0,因为这是它的默认值。所以你可以在你的Combobox上省略Grid.Row =“0”。将*设置为行/列定义的高度或宽度时也是如此。可以缩短到

<RowDefinition/> 
+0

所以当我想要有静态高度的行,我想扩大组合框涵盖其他行? –

+0

根据需要考虑使用MinHeight和MaxHeight – kskyriacou

+0

我想要涵盖其他控件,如在顶层显示扩展组合框,并且不要移动其他行。 (网格高度自动不工作.. :() 是的我知道,但我使用grid.row = 0,因为它更可读,更容易改变,如果想 –