Example #1
0
        /// <summary>
        /// Copy <paramref name="designItems"/> from the designer to clipboard.
        /// </summary>
        public void Cut(ICollection <DesignItem> designItems)
        {
            Clipboard.Clear();

            var cutList = RemoveChildItemsWhenContainerIsInList(designItems);

            string cutXaml     = "";
            var    changeGroup = _context.OpenGroup("Cut " + cutList.Count + "/" + designItems.Count + " elements", cutList);

            foreach (var item in cutList)
            {
                if (item != null && item != _context.RootItem)
                {
                    XamlDesignItem xamlItem = item as XamlDesignItem;
                    if (xamlItem != null)
                    {
                        cutXaml += XamlStaticTools.GetXaml(xamlItem.XamlObject);
                        cutXaml += _delimeter;
                    }
                }
            }
            ModelTools.DeleteComponents(cutList);
            Clipboard.SetText(cutXaml, TextDataFormat.Xaml);
            changeGroup.Commit();
        }
Example #2
0
        public override DesignItem Clone()
        {
            DesignItem     item     = null;
            var            xaml     = XamlStaticTools.GetXaml(this.XamlObject);
            XamlDesignItem rootItem = Context.RootItem as XamlDesignItem;
            var            obj      = XamlParser.ParseSnippet(rootItem.XamlObject, xaml, ((XamlDesignContext)Context).ParserSettings);

            if (obj != null)
            {
                item = ((XamlDesignContext)Context)._componentService.RegisterXamlComponentRecursive(obj);
            }
            return(item);
        }
Example #3
0
		/// <summary>
		/// Copy <paramref name="designItems"/> from the designer to clipboard.
		/// </summary>
		public void Copy(ICollection<DesignItem> designItems)
		{
			Clipboard.Clear();
			string copiedXaml = "";
			var changeGroup = _context.OpenGroup("Copy " + designItems.Count + " elements", designItems);
			foreach (var item in designItems)
			{
				if (item != null)
				{
					XamlDesignItem xamlItem = item as XamlDesignItem;
					if (xamlItem != null) {
						copiedXaml += XamlStaticTools.GetXaml(xamlItem.XamlObject);
						copiedXaml += _delimeter;
					}
				}
			}
			Clipboard.SetText(copiedXaml, TextDataFormat.Xaml);
			changeGroup.Commit();
		}