在聚焦时展开组合框及其项目

时间:2010-09-08 11:26:59

标签: wpf wpf-controls

每当组合框获得焦点时,我想扩展组合框的高度。

我使用以下代码扩展组合框高度。

<Style TargetType="{x:Type ComboBox}">    
<Style.Triggers>    
    <Trigger Property="IsKeyboardFocusWithin" Value="True">    
        <Setter Property="RenderTransform">   
            <Setter.Value>   
                <ScaleTransform ScaleX="1" ScaleY="2" />   
            </Setter.Value>   
        </Setter>   
        <Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>    
        <Setter Property="Panel.ZIndex" Value="99999"/>    
    </Trigger>    
</Style.Triggers>  
</Style>

问题:

当我第一次将焦点放在Combobox上时,组合框项目列表以正常模式打开。但是,如果我再次单击组合框,则打开组合框项目列表,并列出项目高度扩展。

但我希望即使在第一次点击(焦点)时也可以扩展组合框列表项目。即使我在Combobox项目中选择项目,组合框高度也必须处于扩展模式。

提前致谢

1 个答案:

答案 0 :(得分:22)

这是你想要的吗?

        <Style TargetType="{x:Type ComboBox}">
            <Style.Triggers>
                <Trigger Property="IsKeyboardFocusWithin" Value="True">
                    <Setter Property="IsDropDownOpen" Value="true" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </ComboBox.Style>