void DUOFrameViewer_Loaded(object sender, RoutedEventArgs e) { for (int i = 0; i < 2; i++) { images[i] = new DUOImage(); Children.Add(images[i]); SetColumn(images[i], i); if (device != null) { images[i].SetBitmapResolution((uint)device.FrameWidth, (uint)device.FrameHeight); } } timer = new DispatcherTimer(); double newFramerate = Framerate; if (newFramerate < 1.0) { newFramerate = 1.0; } if (newFramerate > 120.0) { newFramerate = 120.0; } timer.Interval = TimeSpan.FromMilliseconds(1000.0 / newFramerate); timer.Tick += DUOTimerUpdate; lock (updateLock) { if (needToStart) { timer.Start(); } needToStart = false; } }
private static void BitmapHeightPropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e) { DUOImage instance = obj as DUOImage; if (instance == null) { return; } uint newHeight = (uint)e.NewValue; lock (instance.updateLock) { instance.bitmapHeight = newHeight; } instance.SetResolution(instance.BitmapWidth, newHeight); }