当我在我的WPF应用程序中放置一个组合框时,在运行时,当我单击它时,它会滚动包含的项目。选择之后,它再次滚动DropDown。如何在WPF中禁用组合框的DropDown的打开和关闭动画?
是否可以防止滚动动画发生?相反,我想立即打开并关闭它。
- 马克
当我在我的WPF应用程序中放置一个组合框时,在运行时,当我单击它时,它会滚动包含的项目。选择之后,它再次滚动DropDown。如何在WPF中禁用组合框的DropDown的打开和关闭动画?
是否可以防止滚动动画发生?相反,我想立即打开并关闭它。
- 马克
我不认为这是可以简单地禁用ComboBox中的动画,因为它主张。不过,我相信ComboBox的默认ControlTemplate将下拉部分实现为Popup。我猜这是使用Slide
PopupAnimation设置。如果你喜欢它,你可以替换ComboBox的ControlTemplate,并将Popup上的PopupAnimation设置为None
或任何你想要的设置。
这里是一个示例ComboBox ControlTemplate感谢Microsoft。
让我知道你是否需要进一步的帮助。
- HTH, 达斯蒂
您还可以创建一个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;
}
}
你在运行什么操作系统?我正在运行XP,这不会发生使用WPF的组合框控件。 – 2009-11-07 02:31:21
它发生在Vista和Win7上。我不确定XP。但是我已经意识到,XP上的WPF和Vista上的WPF有一些不同之处。例如,字体平滑看起来不同。 – marc40000 2009-11-11 14:41:25