Your timer doesn't activate even once. In your code sample, the textbox is updated only by the Loaded
event of your page. For your timer to work, you need to start it:
timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(30);
timer.Tick += new EventHandler(timer_Tick);
timer.Start();