protected override void OnSourceInitialized(EventArgs e) { base.OnSourceInitialized(e); var hwnd = new WindowInteropHelper(this).Handle; WindowServices.SetWindowExTransparent(hwnd); }
// Inicia a saída da aplicação. void Sair() { // Faz o processamento final, gravando os dados se necessário. ProcessarSaida(); if (WindowServices != null) { // Fecha a janela. WindowServices.CloseWindow(); } }
// Edita um cliente existente. void EditarCliente() { // Entra em modo de edição. IsEditing = true; if (WindowServices != null) { // Coloca o foco no formulário. WindowServices.PutFocusOnForm(); } }
// Verifica se é preciso salvar os dados antes de sair. public void ProcessarSaida() { if (IsEditing && GravarClienteCommand.CanExecute) { // Se está em modo de edição e a gravação está habilitada, pergunta se os dados serão salvos. bool confirm = true; if (WindowServices != null) { confirm = WindowServices.ConfirmSave(); } if (confirm) { // Grava os dados do cliente. GravarCliente(); } } }
// Exclui um cliente. void ExcluirCliente() { bool confirm = true; if (WindowServices != null) { // Pede confirmação. confirm = WindowServices.ConfirmDelete(); } if (confirm) { // Exclui do banco de dados. dao.Excluir(Cliente.Id.Value); // Atualiza a lista de clientes. Clientes = dao.ListarClientes(TextoPesquisa); // Cria um novo cliente para limpar os dados do formulário. Cliente = new Cliente(); } }
// Exclui um evento. void ExcluirEvento() { bool confirm = true; if (WindowServices != null) { // Pede confirmação. confirm = WindowServices.ConfirmDelete(); } if (confirm) { // Exclui do banco de dados. dao.Excluir(Evento.Id.Value); // Atualiza a lista de eventos. Eventos = dao.ListarEventos(TextoPesquisa); // Cria um novo evento para limpar os dados do formulário. Evento = new Evento(); } }
// Um novo cliente está sendo adicionado. void NovoCliente() { // Inicia edição. IsEditing = true; // Não seleciona nenhum cliente da lista. SelectedIndex = -1; // Cria um novo cliente. Cliente = new Cliente(); // Registra o interesse nas mudanças dos erros de validação. Cliente.ErrorsChanged += OnErrorsChanged; Cliente.Endereco.ErrorsChanged += OnErrorsChanged; if (WindowServices != null) { // Atualiza os bindings. WindowServices.UpdateBindings(); // Coloca o foco no formulário. WindowServices.PutFocusOnForm(); } }
protected override void OnEvent(EventArgs eventArgs) { var args = eventArgs as WindowRequestEventArgs; if (args == null) { return; } var window = GetAssociatedWindow(); switch (args.RequestAction) { case WindowRequestAction.Close: WindowServices.SetCloseToHide(window, false); window.Close(); break; case WindowRequestAction.Show: window.Show(); break; case WindowRequestAction.Hide: window.Hide(); break; case WindowRequestAction.Minimize: window.WindowState = WindowState.Minimized; break; case WindowRequestAction.Maximize: window.WindowState = WindowState.Maximized; break; case WindowRequestAction.Restore: window.WindowState = WindowState.Normal; break; case WindowRequestAction.Activate: window.Activate(); break; case WindowRequestAction.ShowDialog: window.ShowDialog(); break; case WindowRequestAction.OK: if (ComponentDispatcher.IsThreadModal) { window.DialogResult = true; } window.Close(); break; case WindowRequestAction.Cancel: if (ComponentDispatcher.IsThreadModal) { window.DialogResult = false; } window.Close(); break; default: throw new ArgumentOutOfRangeException(); } }