MauiGnome é uma biblioteca MDI (Multiple Document Interface) desenvolvida para .NET MAUI e inspirada na interface GNOME. Ela permite gerenciar várias janelas em um único aplicativo, oferecendo funcionalidades como redimensionamento, movimentação e organização multitarefa.
Sendo totalmente multiplataforma, MauiGnome funciona em desktops e dispositivos móveis.
- Gerenciamento de múltiplas janelas em um container
- Janelas redimensionáveis e móveis
- Interface personalizável
- Suporte a temas claro/escuro
- Adicione os arquivos base:
- Clone os arquivos
MDIContainer.cs
eMDIWindow.cs
para uma pastaControls
no seu projeto - Adicione a referência no XAML:
- Clone os arquivos
xmlns:controls="clr-namespace:YourNamespace.Controls"
- Adicione o Container MDI:
<controls:MDIContainer
Windows="{Binding Windows}"
ActiveWindow="{Binding ActiveWindow, Mode=TwoWay}"
HorizontalOptions="Fill"
VerticalOptions="Fill"/>
- Crie suas janelas:
// Crie uma nova janela
var window = new MDIWindow
{
Title = "Minha Janela",
WindowContent = new MinhaView(),
WindowWidth = 400,
WindowHeight = 300
};
// Adicione ao container
Windows.Add(window);
- Gerencie suas janelas:
// Ative uma janela
window.Activate();
// Feche uma janela
window.Close();
-
Gerenciamento de Janelas:
- Movimentação
- Redimensionamento
-
Personalização:
- Temas claro/escuro
- Ícones personalizados
- Estilos customizáveis
-
Eventos:
- Ativação/Desativação
- Abertura/Fechamento
- Alteração de estado
Este repositório inclui uma aplicação de exemplo demonstrando:
- Calculadora funcional com múltiplas instâncias
- Interface inspirada no GNOME
- Implementação completa dos recursos
Este projeto está sob a licença AGPL-3.0. Consulte o arquivo LICENSE.txt para mais detalhes.