Exibe o tempo de execução de parte de um programa em um rótulo

Eu estou tentando ter um rótulo exibir o tempo que leva o usuário concluir uma tarefa enquanto eles estão concluindo. Então, o rótulo começa às 00:00:00 e sobe em incrementos de milissegundos a partir daí. Até agora eu tenho isso:

<code>    private void startTimer()
    {
        stopWatch.Start();
        Dispatcher.BeginInvoke(DispatcherPriority.Render, new ThreadStart(ShowElapsedTime));
    }
    void ShowElapsedTime()
    {
        TimeSpan ts = stopWatch.Elapsed;
        lblTime.Text = String.Format("{0:00}:{1:00}.{2:00}", ts.Minutes, ts.Seconds, ts.Milliseconds / 10);
    }
</code>

startTimer (); é chamado em um clique de botão

Alguém pode me apontar na direção certa?

questionAnswers(3)

yourAnswerToTheQuestion