CatenaLogic.Windows.Presentation.WebcamPlayer.CapPlayer.DeviceProperty_Changed C# (CSharp) Method

DeviceProperty_Changed() private static method

private static DeviceProperty_Changed ( DependencyObject sender, System.Windows.DependencyPropertyChangedEventArgs e ) : void
sender System.Windows.DependencyObject
e System.Windows.DependencyPropertyChangedEventArgs
return void
        private static void DeviceProperty_Changed(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            // Get the sender
            CapPlayer typedSender = sender as CapPlayer;
            if ((typedSender != null) && (e.NewValue != null))
            {
                // Make sure that we are not in design mode
                if (DesignerProperties.GetIsInDesignMode(typedSender)) return;

                // Unsubscribe from previous device
                CapDevice oldDevice = e.OldValue as CapDevice;
                if (oldDevice != null)
                {
                    // Clean up
                    typedSender.CleanUpDevice(oldDevice);
                }

                // Subscribe to new one
                CapDevice newDevice = e.NewValue as CapDevice;
                if (newDevice != null)
                {
                    // Subscribe
                    newDevice.NewBitmapReady += typedSender.device_OnNewBitmapReady;
                }
            }
        }