0
特定のデータグリッド行のボタンをクリックすると、タイマーを初期化したいと考えています。クリックしたDataGrid内の各ボタンのタイマーを初期化
例:再生ボタン付きの複数の行があります。その特定の行でタイマーを開始したい場合はのみとなり、一時停止したい場合はその1つのタイマーを一時停止します。
ここまでは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