Я занимаюсь разработкой очень простого приложения, которое анализирует фид XML, выполняет некоторое форматирование и затем отображает его в TextBlock.Я добавил гиперссылку (называемую «More ..») внизу страницы (в идеале это было бы добавлено в конец TextBlock после анализа XML), чтобы добавить больше контента путем изменения URL-адреса канала XML.на следующую страницу.
Проблема, с которой я сталкиваюсь, является странной, так как программа отлично работает в эмуляторе Windows Phone 7, но когда я ее развертываю на устройстве или отлаживаю на устройстве, она работаетдля первого нажатия кнопки «Еще ...», но те, которые после первого щелчка, похоже, просто добавляют пустое пространство в приложение при развертывании или отладке с устройства.
Я использую SamsungFocus (NoDo) и изначально думали, что это, возможно, связано с тем, что у меня, возможно, не было последних инструментов разработчика. Я убедился, что у меня установлена последняя версия Visual Studio, и я все еще сталкиваюсь с проблемой.
Вот некоторые фрагменты моего кода, чтобы помочь.
Я объявил здесь переменную clickCount:
public partial class MainPage : PhoneApplicationPage
//set clickCount to 2 for second page
int clickCount = 2;
Вот фрагмент кода, который я использую для анализа XML-файла:
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
ListBoxItem areaItem = null;
StringReader stream = new StringReader(e.Result);
XmlReader reader = XmlReader.Create(stream);
string areaName = String.Empty;
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.Name == "example")
{
areaName = reader.ReadElementContentAsString();
areaItem = new ListBoxItem();
areaItem.Content = areaName;
textBlock1.Inlines.Add(areaName);
textBlock1.Inlines.Add(new LineBreak());
}
}
}
}
}
и код нажатия кнопки гиперссылки:
private void hyperlinkButton1_Click(object sender, RoutedEventArgs e)
{
int stringNum = clickCount;
//URL is being incremented each time hyperlink is clicked
string baseURL = "http://startofURL" + stringNum + ".xml";
Uri url = new Uri(baseURL, UriKind.Absolute);
WebClient client = new WebClient();
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(url);
//increment page number
clickCount = clickCount + 1;
}