Windows phone 8 Telerik RadDataBoundListBox重置
如何重置或删除Telerik RadDataBoundListBox中的旧数据 Json解析和显示在RadDataBoundListBox中 RadDataBoundListBox每次加载旧数据,如果我点击按钮加载新数据,我想删除或重置旧数据,因为每次显示旧数据时Windows phone 8 Telerik RadDataBoundListBox重置,windows-phone-8,Windows Phone 8,如何重置或删除Telerik RadDataBoundListBox中的旧数据 Json解析和显示在RadDataBoundListBox中 RadDataBoundListBox每次加载旧数据,如果我点击按钮加载新数据,我想删除或重置旧数据,因为每次显示旧数据时 public void getMainData() { string mainUrlData = "http://www.mydomain.com/app.json";
public void getMainData()
{
string mainUrlData = "http://www.mydomain.com/app.json";
WebClient wc = new WebClient();
wc.DownloadStringCompleted += wc_DownloadStringCompleted;
wc.DownloadStringAsync(new Uri(mainUrlData));
}
void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
try
{
string result = e.Result.ToString();
JsonConvert.PopulateObject(result, PopulateData);
NewsList.ItemsSource = PopulateData;
}
}
有点晚了,希望这有帮助 使用MVVMLight 使用HttpClient:
public async Task<ObservableCollection<T>> GetAll()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse(jsonMediaType));
//if (useToken)
//client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token);
var json = await client.GetStringAsync(String.Format("{0}{1}{2}", apiUrl, addressSuffix, apiKey)).ConfigureAwait(false);
Debug.WriteLine(json);
JObject o = JObject.Parse(json);
Debug.WriteLine(o);
return await Task.Factory.StartNew(() => JsonConvert.DeserializeObject<ObservableCollection<T>>(o[moduleName].ToString()));
}
private ObservableCollection<Ticket> _myTickets;
public ObservableCollection<Ticket> MyTickets
{
get
{
return _myTickets;
}
set
{
_myTickets = value;
RaisePropertyChanged(() => MyTickets);
}
}
<telerikPrimitives:RadDataBoundListBox
x:Name="radDataBoundListBox"
ItemsSource="{Binding TicketList}"
ItemTemplate="{StaticResource ListBoxItemTemplate}"
ItemContainerStyle="{StaticResource ItemContainerStyle}"
SelectedItem="{Binding SelectedTicket, Mode=TwoWay}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Height="750"
ScrollViewer.VerticalScrollBarVisibility="Auto"
UseOptimizedManipulationRouting="False"
EmptyContent="Laden..."
IsPullToRefreshEnabled="True">
<i:Interaction.Triggers>
<i:EventTrigger EventName="RefreshRequested">
<cmd:EventToCommand
Command="{Binding RefreshRequested}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</telerikPrimitives:RadDataBoundListBox>
private RelayCommand _refreshCommand;
public RelayCommand RefreshRequested
{
get
{
return _refreshCommand
?? (_refreshCommand = new RelayCommand(
() =>
{
ExecuteRefreshCommand();
}));
}
}
public async void ExecuteRefreshCommand()
{
var tickets = await _dataService.GetAll();
if (tickets != null)
{
_ticketList.Clear();
foreach (var ticket in tickets)
{
_ticketList.Add(ticket);
Debug.WriteLine(ticket.name);
}
Messenger.Default.Send(new HandleViewMessage() { StopPullToRefresh = true });
RaisePropertyChanged(() => TicketList);
}
}