Я чрезвычайно новичок в разработке WP8 в C#. Я пытаюсь написать простое приложение, которое будет извлекать данные с веб-страницы, а затем обновлять TextBlock
непрерывно, возможно, каждую секунду.Как получить данные с веб-страницы и показать ее в xaml непрерывно в Windows Phone 8?
В настоящее время я могу получить данные с веб-страницы, но не могу обновить TextBlock
, хотя я использовал INotifyPropertyChanged
. TextBlock
обновляется только один раз, когда приложение запускается.
CS-файл MachineData:
public class MachineData : INotifyPropertyChanged
{
public string CurrentValue
{
get
{
return _currentValue;
}
set
{
_currentValue = value;
NotifyPropertyChanged("CurrentValue");
}
}
private string _currentValue;
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
Вот код, который я использовал для извлечения данных:
foreach (MachineData md in Items)
{
var wc = new WebClient();
wc.DownloadStringCompleted += (sender, e) =>
{
string data = (string)e.Result;
md.CurrentValue = data; // Update the value of machine
wc.DownloadStringAsync(new Uri(address));
};
wc.DownloadStringAsync(new Uri(address));
}
В XAML фрагмент кода:
<DataTemplate>
<StackPanel Margin="0,0,0,17">
<TextBlock Text="{Binding CurrentValue}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
</StackPanel>
</DataTemplate>
U, возможно, потребуется запустить этот файл md.CurrentValue =; // Обновление значения машины в потоке пользовательского интерфейса –