Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void CheckListItemMoveButton_Click(object sender, RoutedEventArgs e)
        {
            // Determine which button was pressed - up or down
            bool   isUp           = false;
            Button selectedButton = (Button)sender;

            if (selectedButton.Name.Equals("CheckListItemUpButton", StringComparison.CurrentCultureIgnoreCase))
            {
                isUp = true;
            }

            // Get the currently selected item.
            CheckListItem itemSelected        = (CheckListItem)WorkItemCheckList.SelectedItem;
            int           indexOfSelectedItem = WorkItemCheckList.Items.IndexOf(itemSelected);

            CheckListItem itemBefore = null;
            CheckListItem itemAfter  = null;

            if (indexOfSelectedItem > 0)
            {
                itemBefore = (CheckListItem)WorkItemCheckList.Items.GetItemAt(indexOfSelectedItem - 1);
            }
            if (indexOfSelectedItem + 1 < WorkItemCheckList.Items.Count)
            {
                itemAfter = (CheckListItem)WorkItemCheckList.Items.GetItemAt(indexOfSelectedItem + 1);
            }

            // If direction requested isn't UP and there isn't an object above it,
            //  OR direction requested isn't DOWN and there isn't an object below it,
            //  then do nothing.
            if ((isUp) && (itemBefore != null))
            {
                _controller.MoveCheckListItem(itemSelected, itemBefore, true);
            }
            else if ((isUp == false) && (itemAfter != null))
            {
                _controller.MoveCheckListItem(itemSelected, itemAfter, false);
            }
        }