Ich habe eine Liste mit einem Countdown und ich möchte es jede Sekunde mit einem DispatcherTimer aktualisieren.Liste <> aktualisiert nicht in DispatcherTimer
Init (läuft auf Windows-Lasten)
tasks.Add(new Tasks()
{
title = "Task 1",
date = "14:30 17 Martie 2016",
countdown = "1",
timer = new TimeSpan(0, 15, 32)
});
tasks.Add(new Tasks()
{
title = "Task 2",
date = "14:30 17 Martie 2016",
countdown = "2",
timer = new TimeSpan(1, 10, 52)
});
listViewTasks.ItemsSource = tasks;
initCountdown();
Klasse
public class Tasks
{
public string title { get; set; }
public string date { get; set; }
public string countdown { get; set; }
public TimeSpan timer { get; set; }
}
DispatcherTimer
public void initCountdown()
{
string item = tasks[0].title;
_time = tasks[0].timer;
_timer = new DispatcherTimer(new TimeSpan(0, 0, 1), DispatcherPriority.Normal, delegate
{
tasks[0].countdown = _time.ToString("c"); //this does not update
if (_time == TimeSpan.Zero) _timer.Stop();
_time = _time.Add(TimeSpan.FromSeconds(-1));
}, Application.Current.Dispatcher);
_timer.Start();
}
XAML
<ListView Margin="0,30,0,0" Name="listViewTasks">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<StackPanel HorizontalAlignment="Left" Margin="0,0,50,0">
<TextBlock Text="{Binding title}" Cursor="Hand"/>
<TextBlock Text="{Binding date}" />
</StackPanel>
<StackPanel HorizontalAlignment="Right" Grid.Column="1">
<TextBlock Text="{Binding countdown}" />
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
von außerhalb des Dispatcher kann ich es aktualisieren, aber von innen funktioniert nicht.
keine Ausnahme und die ui NICHT
Ich möchte aktualisieren, um die Listenansicht mich aus der Zeitspanne um den Countdown zu zeigen, nicht aktualisiert ich hinzufügen.
Erhalten Sie eine Ausnahme? Oder wird es einfach nicht aktualisiert? – Zack
Was bedeutet "funktioniert nicht"? Es erreicht nie Null, oder die UI wird nicht aktualisiert? – Liero
@Zack keine Ausnahme – user2252671