2009-11-07 75 views
1

当我在我的WPF应用程序中放置一个组合框时,在运行时,当我单击它时,它会滚动包含的项目。选择之后,它再次滚动DropDown。如何在WPF中禁用组合框的DropDown的打开和关闭动画?

是否可以防止滚动动画发生?相反,我想立即打开并关闭它。

- 马克

+0

你在运行什么操作系统?我正在运行XP,这不会发生使用WPF的组合框控件。 – 2009-11-07 02:31:21

+0

它发生在Vista和Win7上。我不确定XP。但是我已经意识到,XP上的WPF和Vista上的WPF有一些不同之处。例如,字体平滑看起来不同。 – marc40000 2009-11-11 14:41:25

回答

2

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

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

让我知道你是否需要进一步的帮助。

- HTH, 达斯蒂

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; 
    } 
} 
相关问题