Exemple #1
0
        /// <summary>
        /// Añade un UserControl al TabControl según la EOpcion que recibe por param. Si el TabItem ya está mostrado,
        /// no se carga de nuevo, simplemente se establece el foco en ese TabItem.
        /// Se añade el EOpcion y el nuevo TabItem al Dictionary de TabItems(tabitemdictionary) que almacena los TabItems activos.
        /// </summary>
        /// <param name="opcion"></param>
        public static void PrepareTabItemUserControl(EOpcion opcion)
        {
            try
            {
                if (tabitemdictionary.Where(p => p.Key == opcion).Count() == 0)
                {
                    CintaOpcionesUserControl cintaopcionesusercontrol = new CintaOpcionesUserControl();
                    //Se crea el Tabitem
                    TabItem tabitem = TabItemLogic.CreateTabItemDataGrid(opcion);

                    //Se añade un nuevo object CintaOpcionesUserControl al TabItem
                    tabitem.Content = cintaopcionesusercontrol;

                    //Se añade el EOpcion y el nuevo TabItem al Dictionary de TabItems(tabitemdictionary) que almacena los TabItems activos
                    tabitemdictionary.Add(opcion, new TemplateInfoTabItem(tabitem));

                    //Se habilitan/deshabilitan los Buttons del ToolBar según corresponda
                    ToolBarLogic.EnabledDisabledToolBarButtonsByEOpcion(opcion);
                }
                else
                {   //Si el TabItem ya está mostrado, no se carga de nuevo, simplemente se establece el foco en ese TabItem
                    tabitemdictionary.Where(z => z.Key == opcion).FirstOrDefault().Value.TabItem.Focus();
                }
            }
            catch (Exception ex)
            {
                ErrorsGeneric.MessageError(ex);
            }
        }
        /// <summary>
        /// Cierra el TabItem según la EOpcion recibida por params
        /// </summary>
        /// <param name="parameter"></param>
        public void CloseTabItem(object parameter)
        {
            EOpcion tipoaux = ribbonbuttondictionary.Where(z => z.Key.ToString() == parameter.ToString()).FirstOrDefault().Key;

            TabItemLogic.RemoveTabItem(tipoaux);
        }
Exemple #3
0
        /// <summary>
        /// Añade a un nuevo DataGridUserControl los datos del GenericObservableCollection (genericobscollection) recibido por params.
        /// El nombre de las propiedades del object del GenericObservableCollection (genericobscollection) corresponderán con los
        /// respectivos Headers. Se añade el DataGridUserControl en un nuevo TabItem (tbitem).
        /// Se añade el EOpcion, el GenericObservableCollection recibido por params (como origin y copy) y el nuevo TabItem,
        /// al Dictionary de TabItems(tabitemdictionary) que almacena los TabItems activos
        /// </summary>
        /// <param name="opcion"></param>
        /// <param name="genericobscollection"></param>
        private static void CreateTabItemDataGrid(EOpcion opcion, GenericObservableCollection genericobscollection)
        {
            if (genericobscollection.GenericObsCollection.Count != 0)
            {
                //Creamos el DataGrid
                DataGridUserControl datagrid = new DataGridUserControl();

                //datagrid.HorizontalAlignment = HorizontalAlignment.Left;
                //datagrid.AlternatingRowBackground = Brushes.WhiteSmoke;
                //datagrid.AutoGenerateColumns = true;
                //datagrid.CanUserAddRows = true;
                //datagrid.CanUserDeleteRows = true;
                //datagrid.IsReadOnly = false;
                //datagrid.SelectionMode = DataGridSelectionMode.Extended;
                //datagrid.SelectionUnit = DataGridSelectionUnit.FullRow;
                //datagrid.CanUserReorderColumns = true;
                //datagrid.CanUserResizeColumns = true;
                //datagrid.CanUserResizeRows = true;
                //datagrid.CanUserSortColumns = true;
                //datagrid.FrozenColumnCount = 1;

                #region Se añade la ObservableCollection<object> directamente como el datagrid.ItemsSource, rellena las columnas según las propiedades que tenga el object, tenga o no tenga datos; el header será el nombre de cada propiedad del object

                //SetTrigger(datagrid);
                #endregion

                #region Se crean los DataGridTextColumn dinámicamente, dándole el nombre al header, y binding cada columna según establecido en la List<DBCriterios> del object; se añade cada columna individualmente al DataGrid
                ////Creamos los DataGridTextColumn
                //DataGridTextColumn column;
                //foreach (var item in templateinfodb)
                //{
                //    //var binding = new Binding();
                //    //binding.Path = new PropertyPath(item.datagridheader);
                //    //binding.Source = (ObjectDataProvider)App.Current.FindResource("ResourceLanguage");

                //    column = new DataGridTextColumn();
                //    column.Header = item.datagridheader; //binding.Path;
                //    column.Binding = new Binding(item.nombrepropiedadobj);
                //    datagrid.Columns.Add(column);
                //}

                ////Añadimos los valores al Datagrid
                //foreach (var item in genericobscollection.GenericObsCollection)
                //{
                //    datagrid.Items.Add(item);
                //}
                #endregion

                //datagrid.SetBinding(ItemsControl.ItemsSourceProperty, new Binding("SelectedItem") { Source = genericobscollection });
                //Se añade al DataGridUserControl el GenericObservableCollection recibido por params como ItemsSource
                datagrid.ItemsSource = genericobscollection.GenericObsCollection;

                //Se crea el Tabitem
                TabItem tabitem = TabItemLogic.CreateTabItemDataGrid(opcion);

                //Se añade el EOpcion, el GenericObservableCollection recibido por params (como origin y copy) y el nuevo TabItem,
                //al Dictionary de TabItems(tabitemdictionary) que almacena los TabItems activos
                tabitemdictionary.Add(opcion, new TemplateInfoTabItem(genericobscollection, tabitem));

                //Se añade el DataGridUserControl al TabItem
                tabitem.Content = datagrid;

                //Se habilitan/deshabilitan los Buttons del ToolBar según corresponda
                ToolBarLogic.EnabledDisabledToolBarButtonsByEOpcion(opcion);
            }
        }