Поделиться через


StackPanel.GetInsertionIndexes(Point, Int32, Int32) Метод

Определение

Возвращает значения индекса элементов, между которыми находится указанная точка.

public:
 virtual void GetInsertionIndexes(Point position, [Out] int & first, [Out] int & second) = GetInsertionIndexes;
void GetInsertionIndexes(Point const& position, [Out] int & first, [Out] int & second);
public void GetInsertionIndexes(Point position, out int first, out int second);
Public Sub GetInsertionIndexes (position As Point, ByRef first As Integer, ByRef second As Integer)

Параметры

position
Point

Точка, для которой требуется получить индексы вставки.

first
Int32

int

Индекс элемента до указанной точки.

second
Int32

int

Индекс элемента после указанной точки.

Реализации

M:Microsoft.UI.Xaml.Controls.IInsertionPanel.GetInsertionIndexes(Windows.Foundation.Point,System.Int32@,System.Int32@) M:Microsoft.UI.Xaml.Controls.IInsertionPanel.GetInsertionIndexes(Windows.Foundation.Point,int@,int@)

Комментарии

Вызовите этот метод при обработке события DragOver , чтобы вернуть индексы двух элементов, между которыми выполняется DragOver и где может произойти удаление и вставка.

Совместимость версий

Метод GetInsertionIndexes недоступен до Windows 10 версии 1607. Если параметр "минимальная версия платформы" вашего приложения в Microsoft Visual Studio меньше значения "введенной версии", показанной в блоке "Требования" далее на этой странице, необходимо разработать и протестировать приложение, чтобы учесть это. Дополнительные сведения см. в разделе Адаптивный к версии код.

Чтобы избежать исключений при запуске приложения в предыдущих версиях Windows 10, не вызывайте этот метод без предварительного выполнения проверка среды выполнения. В этом примере показано, как использовать класс ApiInformation для проверка наличия этого метода перед его использованием.

<StackPanel AllowDrop="True" DragOver="StackPanel_DragOver">
private void StackPanel_DragOver(object sender, DragEventArgs e)
{
    if (ApiInformation.IsMethodPresent("Windows.UI.Xaml.Controls.StackPanel", "GetInsertionIndexes"))
    {
        StackPanel stackPanel = sender as StackPanel;
        if (stackPanel != null)
        {
            int preceedingIndex;
            int subsequentIndex;
            stackPanel.GetInsertionIndexes(e.GetPosition(stackPanel), out preceedingIndex, out subsequentIndex);
        }
    }
}

Применяется к