0

ドロップダウンが開いている間にコンボボックスのサイズを変更する方法があるかどうか疑問に思っていました。

Grid にラップされた Label と ComboBoxes を持つ 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

ComboBox を開いた場合、オーバーラップしてはならず、次のようになります。

Label ComboBox
      DropDown
      DropDown
      DropDown
Label ComboBox

あなたが私を理解してくれることを願っています:)

4

2 に答える 2

1

2つのコンボボックスの間にスペーサーグリッドまたは他の要素を配置しますか?MaxDropDownHeightをオンに設定する必要があります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 に答える