public ListPicker()
{
DefaultStyleKey = typeof(ListPicker);
Storyboard.SetTargetProperty(_heightAnimation, new PropertyPath(FrameworkElement.HeightProperty));
Storyboard.SetTargetProperty(_translateAnimation, new PropertyPath(TranslateTransform.YProperty));
// Would be nice if these values were customizable (ex: as DependencyProperties or in Template as VSM states)
Duration duration = TimeSpan.FromSeconds(0.2);
_heightAnimation.Duration = duration;
_translateAnimation.Duration = duration;
IEasingFunction easingFunction = new ExponentialEase { EasingMode = EasingMode.EaseInOut, Exponent = 4 };
_heightAnimation.EasingFunction = easingFunction;
_translateAnimation.EasingFunction = easingFunction;
this.RegisterNotification("IsEnabled", OnIsEnabledChanged);
Loaded += OnLoaded;
Unloaded += OnUnloaded;
}