2013-08-25 3 views
0

Я хочу обновить холст в Windows Phone. Я уже написал код для удаления элемента из массива, когда пользователь касается соответствующей строки. Теперь я хочу удалить строку, для которой я использовал массив, но проблема в том, что строка не стирается. Я думаю, что код, который я написал правильно, но проблема в том, что я не получаю функцию с именем в Silverlight или C#, который освежает холст, как в Android или Java:Как обновить холст в Windows Phone Silverlight?

public void checkIntersection() 
{ 
    for (int i = 0; i < gameData.Count(); i++) 
    { 
     for (int j = 0; j < gameData.ElementAt(i).Path.Count(); j++) 
     { 
      if (gameData.ElementAt(i).Path.Contains(new Point(selectedRow, selectedCol))) 
      { 
       int index = gameData.ElementAt(i).Path.IndexOf(new Point(selectedRow, selectedCol)); 
       while (gameData.ElementAt(i).Path.Count() > index) 
       { 
        gameData.ElementAt(i).Path.RemoveAt(gameData.ElementAt(i).Path.Count() - 1); 
       } 
       return; 
      } 
     } 
    } 
    drawPath(); 
} 
+0

Вы не даете здесь достаточной информации. Что такое 'gameData'? Как элементы добавляются в холст? –

+0

gameData - это объект, – Puskarkc007

ответ

0

Silverlight не имеет определенную функцию для перерисовки экрана - она ​​будет автоматически перерисовываться при добавлении удаления элемента из визуального дерева.

Как показано в приведенном выше примере, функция DrawPath преобразует массив в элементы на экране. Если вы очистите все элементы, а затем перерисовите все, вы увидите, что линия удалена.

Greg

+0

Я тоже узнал, что нет функции перерисовки, например, в java или android в silverlight – Puskarkc007

Смежные вопросы