/// <summary>
        /// Método que abre una ventana con las posibles propiedades numéricas a seleccionar.
        /// </summary>
        private void editarPropiedades()
        {
            //Identificamos si ya consultamos por primera vez todas las propiedades. Si ya lo consultamos, no volvemos a consultar.
            if (allPropiedades == null || allPropiedades.Count == 0)
            {
                allPropiedades = DataManager.GetAllPropiedades();
            }


            ObservableCollection <FO_Item> listadoPropiedades = new ObservableCollection <FO_Item>();

            foreach (Propiedad propiedad in allPropiedades)
            {
                FO_Item item = new FO_Item();
                item.Nombre      = propiedad.Nombre;
                item.id          = propiedad.idPropiedad;
                item.Descripcion = propiedad.DescripcionCorta;
                if (ListaPropiedades.Where(x => x.idPropiedad == propiedad.idPropiedad).ToList().Count > 0)
                {
                    item.IsSelected = true;
                }
                else
                {
                    item.IsSelected = false;
                }

                listadoPropiedades.Add(item);
            }

            FO_ItemViewModel vm = new FO_ItemViewModel(listadoPropiedades, "Lista de propiedades numéricas");

            WSelectedOption ventana = new WSelectedOption();

            ventana.DataContext = vm;

            ventana.ShowDialog();

            if (ventana.DialogResult.HasValue && ventana.DialogResult.Value)
            {
                ListaPropiedades.Clear();
                foreach (FO_Item item in vm.ListaAllOptions)
                {
                    if (item.IsSelected)
                    {
                        ListaPropiedades.Add(DataManager.GetPropiedadById(item.id));
                    }
                }

                setTitulos();
            }
        }
        /// <summary>
        /// Métodos que abre una ventana con las posibles propiedades cadena a seleccionar.
        /// </summary>
        private void editarPropiedadesCadena()
        {
            if (allPropiedadesCadena == null || allPropiedadesCadena.Count == 0)
            {
                allPropiedadesCadena = DataManager.GetAllPropiedadCadena();
            }

            ObservableCollection <FO_Item> listadoPropiedadesCadena = new ObservableCollection <FO_Item>();

            foreach (PropiedadCadena propiedad in allPropiedadesCadena)
            {
                FO_Item item = new FO_Item();
                item.Nombre      = propiedad.Nombre;
                item.id          = propiedad.idPropiedad;
                item.Descripcion = propiedad.DescripcionCorta;
                if (ListaPropiedadesCadena.Where(x => x.idPropiedad == propiedad.idPropiedad).ToList().Count > 0)
                {
                    item.IsSelected = true;
                }
                else
                {
                    item.IsSelected = false;
                }

                listadoPropiedadesCadena.Add(item);
            }

            FO_ItemViewModel vm = new FO_ItemViewModel(listadoPropiedadesCadena, "Lista de propiedades cadena");

            WSelectedOption ventana = new WSelectedOption();

            ventana.DataContext = vm;
            ventana.ShowDialog();

            if (ventana.DialogResult.HasValue && ventana.DialogResult.Value)
            {
                ListaPropiedadesCadena.Clear();

                foreach (FO_Item item in vm.ListaAllOptions)
                {
                    if (item.IsSelected)
                    {
                        ListaPropiedadesCadena.Add(DataManager.GetPropiedadCadenaByID(item.id));
                    }
                }

                setTitulos();
            }
        }