コード例 #1
0
        void MoveBottomButton_Click(object sender, RoutedEventArgs args)
        {
            if (Extensions.Count < 2)
            {
                return;
            }

            var index    = ExtensionsList.SelectedIndex;
            var newindex = ExtensionsList.Items.Count - 1;

            if (index == ExtensionsList.Items.Count - 1)
            {
                ExtensionsList.Focus();
                return;
            }

            var target = Extensions[index];

            Extensions.RemoveAt(index);

            Extensions.Insert(newindex, target);

            SyncWithUI();
            SyncSelection(newindex);
        }
コード例 #2
0
        void MoveDownButton_Click(object sender, RoutedEventArgs args)
        {
            if (Extensions.Count < 2)
            {
                return;
            }

            var index    = ExtensionsList.SelectedIndex;
            var newindex = index + 1;

            if (index == ExtensionsList.Items.Count - 1)
            {
                ExtensionsList.Focus();
                return;
            }

            SwapItems(index, newindex);
        }
コード例 #3
0
 void SyncSelection(int index)
 {
     ExtensionsList.SelectedIndex = index;
     ExtensionsList.Focus();
     ExtensionsList.ScrollIntoView(ExtensionsList.SelectedItem);
 }