Ignore:
Timestamp:
Jan 19, 2011, 10:45:38 PM (11 years ago)
Author:
sauer
Message:

Wizard:

  • added selection animation
  • added page forward animation
  • reworked appearance
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/Wizard/WizardControl.xaml.cs

    r2357 r2394  
    99using System.Windows.Input;
    1010using System.Windows.Media;
     11using System.Windows.Media.Animation;
    1112using System.Windows.Media.Imaging;
    1213using System.Windows.Navigation;
     
    5354
    5455            selectionBrush.Color = Color.FromArgb(255, 200, 220, 245);
    55             descScroll.Background = selectionBrush;
    5656            SetupPage(wizardConfigXML);
    5757        }
     
    140140                foreach (XElement ele in categories)
    141141                {
    142                     ContentControl c = new ContentControl();
     142                    Border border = new Border();
    143143                    Label l = new Label();
    144144                    Image i = new Image();
    145145                    StackPanel sp = new StackPanel();
    146                     c.Content = sp;
    147                     c.VerticalAlignment = VerticalAlignment.Stretch;
     146
     147                    border.Child = sp;
     148                    border.VerticalAlignment = VerticalAlignment.Stretch;
     149                    border.CornerRadius = new CornerRadius(5, 0, 0, 5);
     150                    border.BorderBrush = Brushes.LightSeaGreen;
    148151
    149152                    l.Height = 30;
     
    178181                    rb.VerticalAlignment = VerticalAlignment.Stretch;
    179182                    rb.HorizontalContentAlignment = HorizontalAlignment.Stretch;
    180                     rb.Content = c;
     183                    rb.Content = border;
    181184                    rb.Tag = ele;
    182185
     
    197200            ResetBackground();
    198201            RadioButton b = (RadioButton)sender;
    199             ContentControl c = (ContentControl)b.Content;
    200             StackPanel sp = (StackPanel)c.Content;
    201             sp.Background = selectionBrush;
     202            b.Background = Brushes.LightSeaGreen;
     203            Border c = (Border)b.Content;
     204            c.BorderThickness = new Thickness(1, 1, 0, 1);
     205            c.Background = selectionBrush;
    202206            XElement ele = (XElement)b.Tag;
    203207            XElement desc = FindElementInElement(ele, "description");
     
    209213        private void ResetBackground()
    210214        {
    211             UIElement[] uiea = new UIElement[radioButtonStackPanel.Children.Count];
    212             radioButtonStackPanel.Children.CopyTo(uiea, 0);
    213             foreach (UIElement uie in uiea)
    214             {
    215                 RadioButton b = (RadioButton)uie;
    216                 ContentControl c = (ContentControl)b.Content;
    217                 StackPanel sp = (StackPanel)c.Content;
    218                 sp.Background = Brushes.Transparent;
     215            for (int i = 0; i < radioButtonStackPanel.Children.Count; i++)
     216            {
     217                RadioButton b = (RadioButton)radioButtonStackPanel.Children[i];
     218                b.Background = Brushes.Transparent;
     219                Border c = (Border)b.Content;
     220                c.BorderThickness = new Thickness(0);
     221                c.Background = Brushes.Transparent;
    219222            }
    220223        }
     
    251254        private void nextButton_Click(object sender, RoutedEventArgs e)
    252255        {
     256            Storyboard mainGridStoryboardLeft = (Storyboard)FindResource("MainGridStoryboardLeft");
     257            mainGridStoryboardLeft.Begin();
     258        }
     259
     260        private void backButton_Click(object sender, RoutedEventArgs e)
     261        {
    253262            ResetBackground();
    254             UIElement[] uiea = new UIElement[radioButtonStackPanel.Children.Count];
    255             radioButtonStackPanel.Children.CopyTo(uiea, 0);
    256             foreach (UIElement uie in uiea)
    257             {
    258                 RadioButton b = (RadioButton)uie;
     263            if (radioButtonStackPanel.Children.Count > 0)
     264            {
     265                RadioButton b = (RadioButton)radioButtonStackPanel.Children[0];
     266                XElement ele = (XElement)b.Tag;
     267                radioButtonStackPanel.Children.Clear();
     268                description.Text = "";
     269                XElement grandParent = ele.Parent.Parent;
     270                if (grandParent != null)
     271                    SetupPage(grandParent);
     272                else
     273                    SetupPage(wizardConfigXML);
     274            }
     275        }
     276
     277        private void abortButton_Click(object sender, RoutedEventArgs e)
     278        {
     279            ResetBackground();
     280            radioButtonStackPanel.Children.Clear();
     281            choicePath.Clear();
     282            description.Text = "";
     283            SetupPage(wizardConfigXML);
     284        }
     285
     286        private void LeftAnimation_Completed(object sender, EventArgs e)
     287        {
     288            ResetBackground();
     289            for (int i = 0; i < radioButtonStackPanel.Children.Count; i++ )
     290            {
     291                RadioButton b = (RadioButton)radioButtonStackPanel.Children[i];
    259292                if (b.IsChecked != null && (bool)b.IsChecked)
    260293                {
     
    266299                }
    267300            }
    268         }
    269 
    270         private void backButton_Click(object sender, RoutedEventArgs e)
    271         {
    272             ResetBackground();
    273             UIElement[] uiea = new UIElement[radioButtonStackPanel.Children.Count];
    274             radioButtonStackPanel.Children.CopyTo(uiea, 0);
    275             if (uiea.Length > 0)
    276             {
    277                 RadioButton b = (RadioButton)uiea[0];
    278                 XElement ele = (XElement)b.Tag;
    279                 radioButtonStackPanel.Children.Clear();
    280                 description.Text = "";
    281                 XElement grandParent = ele.Parent.Parent;
    282                 if (grandParent != null)
    283                     SetupPage(grandParent);
    284                 else
    285                     SetupPage(wizardConfigXML);
    286             }
    287         }
    288 
    289         private void abortButton_Click(object sender, RoutedEventArgs e)
    290         {
    291             ResetBackground();
    292             radioButtonStackPanel.Children.Clear();
    293             choicePath.Clear();
    294             description.Text = "";
    295             SetupPage(wizardConfigXML);
     301
     302            Storyboard mainGridStoryboardLeft = (Storyboard)FindResource("MainGridStoryboardRight");
     303            mainGridStoryboardLeft.Begin();
     304        }
     305
     306        private void RightAnimation_Completed(object sender, EventArgs e)
     307        {
     308
    296309        }
    297310
Note: See TracChangeset for help on using the changeset viewer.