Ejemplo n.º 1
0
        public static Type CreateNewClrObject(SceneViewModel viewModel, Type propertyType, bool showSystemTypesByDefault)
        {
            ClrNewObjectDialog clrNewObjectDialog = new ClrNewObjectDialog(viewModel, propertyType);
            IList <Type>       types = clrNewObjectDialog.Types;

            if (types.Count == 0)
            {
                viewModel.DesignerContext.MessageDisplayService.ShowError(StringTable.CollectionEditorCannotAddObjectMessage);
                return((Type)null);
            }
            if (types.Count == 1)
            {
                clrNewObjectDialog.Close();
                return(types[0]);
            }
            if (showSystemTypesByDefault || clrNewObjectDialog.SystemTypes.Count > 0 && clrNewObjectDialog.CustomTypes.Count == 0)
            {
                clrNewObjectDialog.ShowAllAssemblies = true;
            }
            bool?nullable = clrNewObjectDialog.ShowDialog();

            if ((!nullable.GetValueOrDefault() ? 0 : (nullable.HasValue ? 1 : 0)) != 0 && clrNewObjectDialog.SelectionContext.PrimarySelection != null)
            {
                return(clrNewObjectDialog.SelectionContext.PrimarySelection.Type);
            }
            return((Type)null);
        }