Esempio n. 1
0
        } // WindowClosing

        // ----------------------------------------------------------------------
        private DependencyPropertySetting CreateSetting(string name, DependencyProperty dependencyProperty)
        {
            DependencyPropertySetting propertySetting = new DependencyPropertySetting(name, window, dependencyProperty);

            propertySetting.ValueSaving += ValueSaving;
            return(propertySetting);
        } // CreateSetting
        } // Collect

        // ----------------------------------------------------------------------
        private void Collect(DependencyObject currentObject, bool recursive)
        {
            foreach (object child in LogicalTreeHelper.GetChildren(currentObject))
            {
                DependencyObject dependencyObject = child as DependencyObject;
                if (dependencyObject == null)
                {
                    continue;
                }

                FrameworkElement frameworkElement = child as FrameworkElement;
                if (frameworkElement != null)
                {
                    bool add = dependencyProperty.OwnerType.IsAssignableFrom(frameworkElement.GetType());

                    if (add && string.IsNullOrEmpty(frameworkElement.Name))
                    {
                        add = false;
                        Debug.WriteLine("DependencyPropertySettingCollector: missing name for framework element " + frameworkElement);
                    }

                    if (add && !OnCollectingSetting(frameworkElement))
                    {
                        add = false;
                    }

                    if (add)
                    {
                        string settingName = string.Concat(frameworkElement.Name, ".", dependencyProperty.Name);
                        DependencyPropertySetting dependencyPropertySetting =
                            new DependencyPropertySetting(settingName, frameworkElement, dependencyProperty);
                        dependencyPropertySetting.DefaultValue = dependencyPropertySetting.Value;
                        ApplicationSettings.Settings.Add(dependencyPropertySetting);
                    }
                }

                if (recursive)
                {
                    Collect(dependencyObject, true);
                }
            }
        } // Collect
Esempio n. 3
0
        } // Collect

        // ----------------------------------------------------------------------
        private void Collect(DependencyObject currentObject, bool recursive)
        {
            foreach (object child in LogicalTreeHelper.GetChildren(currentObject))
            {
                DependencyObject dependencyObject = child as DependencyObject;
                if (dependencyObject == null)
                {
                    continue;
                }

                FrameworkElement frameworkElement = child as FrameworkElement;
                if (frameworkElement != null)
                {
                    bool add = dependencyProperty.OwnerType.IsAssignableFrom(frameworkElement.GetType());

                    if (add && string.IsNullOrEmpty(frameworkElement.Name))
                    {
                        add = false;
                        Debug.WriteLine("DependencyPropertySettingCollector: missing name for framework element " + frameworkElement);
                    }

                    if (add && !OnCollectingSetting(frameworkElement))
                    {
                        add = false;
                    }

                    if (add)
                    {
                        string settingName = string.Concat(frameworkElement.Name, ".", dependencyProperty.Name);
                        DependencyPropertySetting dependencyPropertySetting =
                            new DependencyPropertySetting(settingName, frameworkElement, dependencyProperty);
                        dependencyPropertySetting.DefaultValue = dependencyPropertySetting.Value;
                        ApplicationSettings.Settings.Add(dependencyPropertySetting);
                    }
                }

                if (recursive)
                {
                    Collect(dependencyObject, true);
                }
            }
        } // Collect
Esempio n. 4
0
        } // WindowClosing

        // ----------------------------------------------------------------------
        private DependencyPropertySetting CreateSetting(string name, DependencyProperty dependencyProperty)
        {
            DependencyPropertySetting propertySetting = new DependencyPropertySetting(name, window, dependencyProperty);
            propertySetting.ValueSaving += ValueSaving;
            return propertySetting;
        } // CreateSetting