Привет, я создаю список, содержащий 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) Как я буду отслеживать события для каждый список и другие элементы управления внутри него, чтобы сбросить соответствующий таймер?
Я надеюсь, что все это имеет смысл, и кто-то может мне подсказать.
Спасибо.