如何在WPF中禁用ComboBox的DropDown的打开和关闭动画?

时间:2009-11-07 02:06:15

标签: wpf animation combobox drop-down-menu

当我在我的WPF应用程序中放置一个组合框时,在运行时,当我单击它时,它会向下滚动所包含的项目。选择后,它会再次滚动DropDown。

是否可以阻止滚动动画的发生?相反,我只想让它立即打开和关闭。

- 马克

2 个答案:

答案 0 :(得分:2)

我不认为可以简单地禁用ComboBox上的动画。但是,我相信ComboBox的默认ControlTemplate将下拉部分实现为Popup。我猜它正在使用Slide PopupAnimation设置。如果你想要它,你可以替换ComboBox的ControlTemplate,并将Popup上的PopupAnimation设置为None或你想要的任何设置。

这是一个示例ComboBox ControlTemplate,感谢Microsoft。

如果您需要进一步的帮助,请与我们联系。

- HTH, 多尘

答案 1 :(得分:0)

您还可以创建custom ComboBox ala this answer;所以你最终得到这样的东西。

class ComboBoxNoAnimation : ComboBox
{
    public override void OnApplyTemplate()
    {
        base.OnApplyTemplate();

        var popup = (Popup)Template.FindName("PART_Popup", this);            
        popup.PopupAnimation = PopupAnimation.None;
    }
}