0

我想知道,是否有办法在打开下拉列表时更改组合框的大小。

我有一个带有标签和组合框的 StackPanel,包装在一个网格中。

<StackPanel x:Name="stackPanel">
    <Grid>
        <Label Content="A:"/>
        <ComboBox x:Name="cbA"/>
    </Grid>
    <Grid>
        <Label Content="B:"/>
        <ComboBox x:Name="cbB"/>
    </Grid>
</StackPanel>

Looks like:
Label ComboBox
Label ComboBox

如果我打开一个组合框,它不应该重叠并且看起来像:

Label ComboBox
      DropDown
      DropDown
      DropDown
Label ComboBox

我希望你能理解我 :)

4

2 回答 2

1

在两个组合框之间放置一个间隔网格或其他元素?您需要设置MaxDropDownHeighton cbA。如果元素比默认高度允许的少,空间将太大。

        <StackPanel x:Name="stackPanel">
            <StackPanel.Resources>
                <BooleanToVisibilityConverter x:Key="VisibilityConverter"/>
            </StackPanel.Resources>
            <Grid>
                <Label Content="A:"/>
                <ComboBox x:Name="cbA" MaxDropDownHeight="100" ItemsSource="{Binding Path=ComboTest}"/>
            </Grid>
            <Grid x:Name="Spacer" Height="{Binding ElementName=cbA, Path=MaxDropDownHeight}" 
                  Visibility="{Binding ElementName=cbA, Path=IsDropDownOpen, Converter={StaticResource VisibilityConverter}}"/>
            <Grid>
                <Label Content="B:"/>
                <ComboBox x:Name="cbB"/>
            </Grid>
        </StackPanel>
于 2013-02-01T16:19:28.593 回答
0

你想要这样 在此处输入图像描述

这是 ListPicker 控件。组合框不是这样工作的。

于 2013-02-01T15:36:42.393 回答