Пример #1
0
        private bool CopyProperties()
        {
            PropertyDictionary propDict = new PropertyDictionary();

              // Check whether the user has selected a category item
              GridItem selItem = propertyGrid.SelectedGridItem;
              if (selItem == null)
            return false;

              if (selItem.GridItemType == GridItemType.Category)
              {
            // Collect all properties of this category
            foreach (GridItem propertyItem in selItem.GridItems)
            {
              if (propertyItem.GridItemType != GridItemType.Property)
            continue;

              // Skip empty property values (which typically corresponds to a "mixed" value when multiple
              // shapes are selected)
              if (propertyItem.Value == null)
            continue;

              // Skip read-only properties
              if (propertyItem.PropertyDescriptor != null && propertyItem.PropertyDescriptor.IsReadOnly)
            continue;

              propDict.AddProperty(propertyItem.Label, propertyItem.Value);
            }
            if (!propDict.Empty)
            {
              // Copy the property values to the clipboard
              EditorManager.Clipboard.Data = EditorClipboard.CreateDataObject(propDict, "Shape Properties");
            }
            return true;
              }
              else if (selItem.GridItemType == GridItemType.Property)
              {
            // Do not copy properties for layer
            if (SelectedObject is Layer)
            {
              EditorManager.Clipboard.Data = null; //clear clipboarddata
              return true;
            }
            // Skip empty property values (which typically corresponds to a "mixed" value when multiple
            // shapes are selected)
            if (selItem.Value != null)
            {
              // Do not copy dynamicproperties
              if (selItem.Value is CSharpFramework.DynamicProperties.DynamicPropertyCollection)
              {
            EditorManager.Clipboard.Data = null; //clear clipboarddata
            return true;
              }

              EditorManager.Clipboard.Data = EditorClipboard.CreateDataObject(new PropertyKeyValuePair(selItem.Label, selItem.Value), "Shape Single Property");
            }
            return true;
              }
              else
              {
            EditorManager.Clipboard.Data = null; //clear clipboarddata
            return true;
              }
        }
Пример #2
0
        private bool CopyProperties()
        {
            PropertyDictionary propDict = new PropertyDictionary();

            // Check whether the user has selected a category item
            GridItem selItem = propertyGrid.SelectedGridItem;

            if (selItem == null)
            {
                return(false);
            }

            if (selItem.GridItemType == GridItemType.Category)
            {
                // Collect all properties of this category
                foreach (GridItem propertyItem in selItem.GridItems)
                {
                    if (propertyItem.GridItemType != GridItemType.Property)
                    {
                        continue;
                    }

                    // Skip empty property values (which typically corresponds to a "mixed" value when multiple
                    // shapes are selected)
                    if (propertyItem.Value == null)
                    {
                        continue;
                    }

                    // Skip read-only properties
                    if (propertyItem.PropertyDescriptor != null && propertyItem.PropertyDescriptor.IsReadOnly)
                    {
                        continue;
                    }

                    propDict.AddProperty(propertyItem.Label, propertyItem.Value);
                }
                if (!propDict.Empty)
                {
                    // Copy the property values to the clipboard
                    EditorManager.Clipboard.Data = EditorClipboard.CreateDataObject(propDict, "Shape Properties");
                }
                return(true);
            }
            else if (selItem.GridItemType == GridItemType.Property)
            {
                // Do not copy properties for layer
                if (SelectedObject is Layer)
                {
                    EditorManager.Clipboard.Data = null; //clear clipboarddata
                    return(true);
                }
                // Skip empty property values (which typically corresponds to a "mixed" value when multiple
                // shapes are selected)
                if (selItem.Value != null)
                {
                    // Do not copy dynamicproperties
                    if (selItem.Value is CSharpFramework.DynamicProperties.DynamicPropertyCollection)
                    {
                        EditorManager.Clipboard.Data = null; //clear clipboarddata
                        return(true);
                    }

                    EditorManager.Clipboard.Data = EditorClipboard.CreateDataObject(new PropertyKeyValuePair(selItem.Label, selItem.Value), "Shape Single Property");
                }
                return(true);
            }
            else
            {
                EditorManager.Clipboard.Data = null; //clear clipboarddata
                return(true);
            }
        }