내 대상 빌드로 설정된 버전 7.1의 Windows Phone에서 응용 프로그램을 개발 중입니다. 내가 겪고있는 문제는 내 페이지의 목록보기가 표시를 거부한다는 것입니다.다른 결과를 제공하는 에뮬레이터
목록이 내부 내용으로 구문 분석되도록 디버깅했습니다. 또한 응용 프로그램은 Windows 8 에뮬레이터를 사용할 때 잘 실행됩니다. 그러나 응용 프로그램의 다른 페이지에서 다른 목록보기를 채우는 데 사용 된 것과 같은 기술은 표시되지 않는이 단일 페이지에서 모든 에뮬레이터에서 잘 작동합니다.
바인딩 스택 패널의 색상을 설정하여 표시할지 여부는 알 수 있지만 내용이 없어도 표시됩니다. 정말 혼란스럽고 코드가 완벽합니다. 나는 Windows 전화 에뮬레이터를 사용하기 전에이 문제가 떠오르는 지 궁금합니다.
private void countdownClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
HtmlDocument doc = new HtmlDocument();
if (e.Error != null)
{
//MessageBox.Show(e.Error.InnerException.Message + "\n Ensure You Have A Working Internet Connection");
return;
}
doc.LoadHtml(e.Result);
String noCountdown = "<div><span>Sorry no buses are expected within 30 minutes of this stop. Please try again later or go to www.tfl.gov.uk</span></div>";
if (e.Result.Contains(noCountdown))
{
//No Buses Expected;
return;
}
else
{
HtmlNode stopCountdownNode;
try
{
stopCountdownNode = doc.DocumentNode.SelectSingleNode("//*[contains(@id, 'stopBoard')]").SelectSingleNode("tbody");
}
catch (Exception)
{
MessageBox.Show("Error Responce From Server");
return;
}
if (stopCountdownNode != null)
{
HtmlNodeCollection countdownNodeList = stopCountdownNode.SelectNodes("tr");
CountDownListBox.ItemsSource = GetCountdownList(countdownNodeList);
}
}
}
private ObservableCollection<BusCountdown> GetCountdownList(HtmlNodeCollection countdownNodeList)
{
ObservableCollection<BusCountdown> countdownList = new ObservableCollection<BusCountdown>();
foreach (HtmlNode countDown in countdownNodeList)
{
String busName = HttpUtility.HtmlDecode(countDown.SelectSingleNode("*[contains(@class, 'resRoute')]").InnerHtml);
String busDestination = HttpUtility.HtmlDecode(countDown.SelectSingleNode("*[contains(@class, 'resDir')]").InnerHtml);
String countDownTime = HttpUtility.HtmlDecode(countDown.SelectSingleNode("*[contains(@class, 'resDue')]").InnerHtml);
countdownList.Add(new BusCountdown(busName, busDestination, countDownTime));
}
return countdownList;
}
public string GetRandomSlash()
{
Random r = new Random();
String slash = "";
int rand = r.Next(1, 20);
for (int i = 0; i < rand; i++)
{
slash += "/";
}
return slash;
}
모든 바인딩 속성은 이미 공개되지 않았더라도 작동하지 않을 수도 있습니다. –
속성은 기본적으로 public입니다. 그렇지 않으면 아무 데서도 작동하지 않을 것입니다 ... 클래스의 속성을 올바르게 정의 했습니까? 그 수업을 공개로 만드십시오 ... \ – Mani
오, 그렇습니다. 당신은 내 모든 이전 수업이이 문제와 별개로 공공 rfix를 가졌다 고 옳았습니다. 왜? 나는 아무런 단서가 없습니다. 고맙습니다 –