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


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:Windows.UI.Xaml.Controls.IInsertionPanel.GetInsertionIndexes(Windows.Foundation.Point,System.Int32@,System.Int32@) M:Windows.UI.Xaml.Controls.IInsertionPanel.GetInsertionIndexes(Windows.Foundation.Point,int@,int@)

Требования к Windows

Семейство устройств
Windows 10 Anniversary Edition (появилось в 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v3.0)

Комментарии

Вызовите этот метод при обработке события 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);
        }
    }
}

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