如何更改ComboBox中的动画以加载包含项目列表的弹出窗口? (无需为ComboBox创建模板以访问弹出窗口)
答案 0 :(得分:5)
要访问弹出窗口,可以执行以下操作:
Popup popup = (Popup)comboBox.Template.FindName("PART_Popup", comboBox);
显然comboBox是你的ComboBox。这里的关键部分是“PART_Popup”是ComboBox模板中弹出窗口的名称(至少在WPF工具包中)。
这是一个完整的代码示例,在加载ComboBox时调用:
private void cBox_Loaded(object sender, RoutedEventArgs e)
{
ComboBox cBox = sender as ComboBox;
Popup popup = (Popup)cBox.Template.FindName("PART_Popup", cBox);
popup.PopupAnimation = PopupAnimation.Fade;
}
答案 1 :(得分:-1)
你可以尝试一下......
<ComboBox>
<ComboBox.Resources>
<Style TargetType="{x:Type Popup}">
<Setter Property="PopupAnimation" Value="Fade" />
</Style>
</ComboBox.Resources>
</ComboBox>
让我知道这是否有效......