private void tcTablero_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                if (e.Source is TabControl)
                {
                    if (((TabControl)e.Source).SelectedIndex == 0)
                    {
                        PuntosMedicionView pm;

                        if (this.controls.ContainsKey(vm.cPuntosMedicion.SelectedItem.IdPuntoMedicion.ToString()))
                        {
                            this.RegistrosViewPuntosMedicion.Content = this.controls[vm.cPuntosMedicion.SelectedItem.IdPuntoMedicion.ToString()];
                        }
                        else
                        {
                            pm = new PuntosMedicionView();
                            pm.DataContext = vm.pmAll;
                            //pm.init(this, vm);
                            this.controls.Add(vm.cPuntosMedicion.SelectedItem.IdPuntoMedicion.ToString(), pm);
                        }
                    }

                    if (((TabControl)e.Source).SelectedIndex == 1)
                    {

                    }
                    if (((TabControl)e.Source).SelectedIndex == 2)
                    {

                    }
                }
            }
            catch (Exception ex)
            {
                ;
            }
        }
 void vmPuntosMedicion_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     if (e.PropertyName == "SelectedItem")
     {
         CategoriasViewModel vm = (CategoriasViewModel)sender;
         if (vm.SelectedItem != null)
         {
             PuntosMedicionView pmPuntosMedicion;
             if (!this.PuntosMedicionRegistros.ContainsKey(vm.SelectedItem.IdPuntoMedicion.ToString()))
             {
                 pmPuntosMedicion = new PuntosMedicionView();
                 pmPuntosMedicion.init(this, vm);
                 //pmPuntosMedicion.init(this,vmMain, vm.SelectedItem);
                 this.PuntosMedicionRegistros.Add(vm.SelectedItem.IdPuntoMedicion.ToString(), pmPuntosMedicion);
             }
             pmPuntosMedicion = PuntosMedicionRegistros[vm.SelectedItem.IdPuntoMedicion.ToString()];
             this.RegistrosViewPuntosMedicion.Content = pmPuntosMedicion;
             vmMain.SelectedCategoria = (vm.SelectedItem != null) ? vm.SelectedItem : vm.SelectedItemAux;
         }
     }
 }