private void OpeningDropDown(bool oldValue)
{
#if SILVERLIGHT
RoutedPropertyChangingEventArgs<bool> args = new RoutedPropertyChangingEventArgs<bool>(IsDropDownOpenProperty, oldValue, true, true);
#else
RoutedPropertyChangingEventArgs<bool> args = new RoutedPropertyChangingEventArgs<bool>(IsDropDownOpenProperty, oldValue, true, true, DropDownOpeningEvent);
#endif
// Opening
OnDropDownOpening(args);
if(args.Cancel)
{
_ignorePropertyChange = true;
SetValue(IsDropDownOpenProperty, oldValue);
}
else
{
RaiseExpandCollapseAutomationEvent(oldValue, true);
OpenDropDown(oldValue, true);
}
UpdateVisualState(true);
}