Boogaart.Silverlight.Behaviors.Popup.OnStaysOpenChanged C# (CSharp) Méthode

OnStaysOpenChanged() private static méthode

private static OnStaysOpenChanged ( DependencyObject dependencyObject, System.Windows.DependencyPropertyChangedEventArgs e ) : void
dependencyObject System.Windows.DependencyObject
e System.Windows.DependencyPropertyChangedEventArgs
Résultat void
        private static void OnStaysOpenChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs e)
        {
            var popup = dependencyObject as Windows.Popup;
            var popupWatcher = (PopupWatcher)null;
            var staysOpen = (bool)e.NewValue;

            popupWatcherCache.TryGetValue(popup, out popupWatcher);

            if (staysOpen)
            {
                if (popupWatcher != null)
                {
                    popupWatcher.Detach();
                    popupWatcherCache.Remove(popup);
                }
            }
            else
            {
                if (popupWatcher == null)
                {
                    popupWatcher = new PopupWatcher(popup);
                    popupWatcherCache[popup] = popupWatcher;
                }

                popupWatcher.Attach();
            }
        }