Привет! Я создаю список, содержащий 2 текстовых поля каждый раз, когда пользователь нажимает кнопку (пример элементов управления для демонстрации), и добавляю их в панель стека, определенную в XAML.
<StackPanel Name="myStackPanel">
<Button Name="myButton" Click="myButton_Click">Click to add a new button</Button>
</StackPanel>
private void myButton_Click(object sender, RoutedEventArgs e)
{
TextBox tb = new TextBox();
TextBox tb2 = new TextBox();
tb.Text = "Some text 1";
tb2.Text = "Some text 2";
ListView lv = new ListView();
lv.Name = "anotherLv";
lv.Items.Add(tb);
lv.Items.Add(tb2);
this.myStackPanel.Children.Add(lv);
}
Это отлично работает.
Мне нужна возможность запуска таймера при создании каждого списка, который будет отсчитывать от 5 минут до 0. Как только таймер достигнет 0, список, связанный с этим таймером, будет удален с экрана. Таймер необходимо будет сбрасывать обратно на 5 минут каждый раз, когда в соответствующем списке отображается какое-либо действие (т. Е. Набирается некоторый текст или происходит наведение мыши).
Поскольку у пользователя есть возможность создавать любое количество этих списков, мне нужно будет создать отдельный таймер для каждого созданного списка, а затем отслеживать события для этого конкретного списка и содержащихся в нем элементов управления.
У меня есть несколько моментов, с которыми я хочу начать.
1) Как мне прикрепить таймер к каждому списку?
2) Как я буду отслеживать события для каждого списка и других элементов управления в нем, чтобы сбросить связанный таймер?
Надеюсь, все это имеет смысл, и у меня есть несколько указателей для меня.
Спасибо.