Как мне изменить PopupAnimation в ComboBox? - PullRequest
0 голосов
/ 03 августа 2011

Как изменить анимацию в ComboBox для загрузки всплывающего окна со списком элементов?(без необходимости создавать шаблон для ComboBox для доступа к всплывающему окну)

Ответы [ 2 ]

5 голосов
/ 03 августа 2011

Чтобы получить доступ к всплывающему окну, можно сделать что-то вроде этого:

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;
    }
0 голосов
/ 03 августа 2011

Можете ли вы попробовать это ...

     <ComboBox>
         <ComboBox.Resources>
             <Style TargetType="{x:Type Popup}">
                  <Setter Property="PopupAnimation" Value="Fade" />
             </Style>
         </ComboBox.Resources>
     </ComboBox>

Дайте мне знать, если это работает ...

...