Интерактивные / динамические ячейки сетки

#c# #windows-phone-7 #grid #touch

#c# #windows-phone-7 #сетка #коснитесь

Вопрос:

Я пытаюсь придумать решение для создания сетки на экране и обеспечения интерактивности каждой ячейки (событие простого щелчка). Лучшим способом описать это было бы динамическое построение 2D-карты плиток путем щелчка по ячейкам.

Я все еще новичок в мобильных инструментах, поэтому, возможно, я упускаю что-то очевидное. Сначала я предположил, что могу использовать элемент управления Grid, но я не верю, что существует способ запускать каждую ячейку по отдельности. Возможно, мне нужно каким-то образом заполнить каждую ячейку чем-то, на что можно нажать?

Ответ №1:

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

     <Grid
        x:Name="ContentPanel"
        Background="LightCoral"
        Tap="ContentPanel_Tap">

        <TextBlock
            x:Name="posTb" />



    private void ContentPanel_Tap(object sender, GestureEventArgs e)
    {
        var pos = e.GetPosition(ContentPanel);
        posTb.Text = pos.X   ","   pos.Y;
    }
  

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