0
我想單擊特定數據網格行上的按鈕時初始化計時器。初始化DataGrid中每個按鈕的計時器點擊
例如:我有多行播放按鈕,按下時我想在該特定行上啓動一個計時器只有並且在暫停時我只想暫停一個計時器。
到目前爲止,這裏是C#代碼。
private void OnPlayButtonClicked(object sender, RoutedEventArgs e)
{
var selectedProject = ((FrameworkElement) sender).DataContext as Project;
if (selectedProject != null)
{
Console.WriteLine("Selected Project has been played: " +
selectedProject.ProjectName + " : Billed Hours - " +
selectedProject.ActualBilledHours);
if (ProjectDictionary.ContainsKey(selectedProject))
{
ProjectDictionary.Remove(selectedProject);
var toggle = IsPlaying = !IsPlaying;
ProjectDictionary.Add(selectedProject, toggle);
foreach(var dict in ProjectDictionary)
{
if (dict.Key == selectedProject)
{
if (toggle)
Timer.Start();
else
Timer.Stop();
}
}
}
}
}
在這種情況下發件人不是按鈕? – stuicidle
您可以初始化每行的多個定時器,並通過單擊的行索引來啓動/停止特定的定時器嗎? – Dia
MVVM很簡單,只需在模型中使用Timer作爲字段並在點擊播放按鈕時將其提升即可 – sTrenat