如何更改ComboBox中的PopupAnimation?

时间:2011-08-03 14:15:58

标签: c# .net wpf combobox wpftoolkit

如何更改ComboBox中的动画以加载包含项目列表的弹出窗口? (无需为ComboBox创建模板以访问弹出窗口)

2 个答案:

答案 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>

让我知道这是否有效......