Exemple #1
0
        /// <summary>
        /// The animated expender_ expanded.
        /// </summary>
        /// <param name="sender">
        /// The sender.
        /// </param>
        /// <param name="e">
        /// The e.
        /// </param>
        private void AnimatedExpenderExpanded(object sender, RoutedEventArgs e)
        {
            Expander ex = sender as Expander;

            if (ex != null && ex.Parent.GetType().Name == typeof(WrapPanel).Name)
            {
                WrapPanel wr = ex.Parent as WrapPanel;
                if (wr != null)
                {
                    foreach (var exP in wr.Children)
                    {
                        Expander wEx = exP as Expander;
                        if (wEx != null && (!wEx.Equals(ex) && wEx.IsExpanded))
                        {
                            wEx.IsExpanded = false;
                        }
                    }

                    if (wr.Equals(this.WpServers))
                    {
                        if (this.ExSelf.IsExpanded)
                        {
                            this.ExUsernameAndPass.IsEnabled = false;
                            if (!this.ExOpen.IsExpanded)
                            {
                                this.ExOpen.IsExpanded = true;
                            }
                        }
                        else if (this.ExServer.IsExpanded)
                        {
                            this.ExUsernameAndPass.IsEnabled = true;
                        }
                        else if (this.ExWeb.IsExpanded)
                        {
                            this.ExUsernameAndPass.IsEnabled = true;
                        }
                        else if (this.ExProxy.IsExpanded)
                        {
                            this.ExUsernameAndPass.IsEnabled = true;
                        }
                    }
                }
            }

            if (ex == null || ex.Content == null)
            {
                return;
            }

            DoubleAnimation animation = new DoubleAnimation(
                25,
                ((Grid)ex.Content).Height + 25,
                new Duration(TimeSpan.FromSeconds(0.4)));

            ex.BeginAnimation(HeightProperty, animation);

            this.SaveSettings();
        }