2015-10-26 122 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,因爲它更可讀,更容易改變,如果想 –