Beispiel #1
0
        /// <summary>
        /// Move the currently selected classifier (defined by the
        /// <seealso cref="SelectedIndex">SelectedIndex</seealso>
        /// property) to earlier in the ordered list.
        /// <para>
        /// Private method that implements the <c>ICommand</c> <seealso cref="OrderEarlier">
        /// OrderEarlier</seealso> through a <c>DelegateCommand</c>.
        /// </para>
        /// </summary>
        /// <param name="obj">Delegate object data - unused.</param>
        private void MoveItemUp(object obj)
        {
            if (selectedIndex != -1)
            {
                lock (this)
                {
                    Debug.Assert(selectedIndex >= 0, "SelectedIndex must be valid, e.g. >= 0");
                    Debug.Assert(Classifiers.Count > 1, "Can only move item if more than one.");

                    lock (Classifiers)
                    {
                        Classifiers.Swap(selectedIndex, selectedIndex - 1);
                    }
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Move the currently selected classifier (defined by the
        /// <seealso cref="SelectedIndex">SelectedIndex</seealso>
        /// property) to later in the ordered list.
        /// <para>
        /// Private method that implements the <c>ICommand</c> <seealso cref="OrderLater">
        /// OrderLater</seealso> through a <c>DelegateCommand</c>.
        /// </para>
        /// </summary>
        /// <param name="obj">Delegate object data - unused.</param>
        private void MoveItemDown(object obj)
        {
            if (selectedIndex != -1)
            {
                lock (this)
                {
                    Debug.Assert(
                        selectedIndex >= 0,
                        "SelectedIndex must be >= 0.");
                    Debug.Assert(
                        selectedIndex < Classifiers.Count - 1,
                        "SelectedIndex must be within the index range of Items collection");
                    Debug.Assert(
                        Classifiers.Count > 1,
                        "Can not move an item unless there is more than one.");

                    lock (Classifiers)
                    {
                        Classifiers.Swap(selectedIndex, selectedIndex + 1);
                    }
                }
            }
        }