using System.Windows;
using System.Windows.Controls;
using CtrEditor.ObjetosSim;
using System.ComponentModel;
using System.Globalization;
using System.Windows.Data;
namespace CtrEditor.PopUps
{
///
/// Interaction logic for LibraryWindow.xaml
///
public partial class LibraryWindow : Window
{
public LibraryWindow()
{
InitializeComponent();
// Aplicar configuraciones persistentes
ApplyPersistedSettings();
// Suscribirse al evento StateChanged para persistir cambios de estado
StateChanged += LibraryWindow_StateChanged;
}
private void LibraryWindow_StateChanged(object sender, EventArgs e)
{
// Guardar el estado cuando cambia
EstadoPersistente.Instance.LibraryWindow.IsMaximized = WindowState == WindowState.Maximized;
EstadoPersistente.Instance.GuardarEstado();
}
private void ApplyPersistedSettings()
{
var settings = EstadoPersistente.Instance.LibraryWindow;
// Asegurar que la ventana esté dentro de los límites de la pantalla
var screenWidth = SystemParameters.WorkArea.Width;
var screenHeight = SystemParameters.WorkArea.Height;
if (settings.Left < 0 || settings.Left > screenWidth - 100)
settings.Left = 100;
if (settings.Top < 0 || settings.Top > screenHeight - 100)
settings.Top = 100;
if (settings.Width < 800 || settings.Width > screenWidth)
settings.Width = 1200;
if (settings.Height < 600 || settings.Height > screenHeight)
settings.Height = 700;
// Aplicar el estado de la ventana
WindowState = settings.IsMaximized ? WindowState.Maximized : WindowState.Normal;
}
private void LibraryTreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs