ICYMI Aqui está o que está reservado para .Net Maui em .NET 10.
✨ Uma das minhas recomendações mais frequentes quando você estuda ou trabalha com qualquer tecnologia é manter -se atualizado com as atualizações mais recentes. Isso ajuda você a manter seus projetos atualizados e aproveitar os recursos mais recentes.
É por isso que hoje estou trazendo para você um resumo de O que há de novo em .Net Maui para .NET 10. Então pegue sua xícara de café e vamos começar! ☕ Como você sabe, a equipe da Microsoft sempre define uma meta clara para cada lançamento e trabalha duro para alcançá -lo. Nesse caso, O foco principal do .Net Maui no .NET 10 tem melhorado a qualidade do produto.
No .NET 10, o .Net Maui é distribuído como uma carga de trabalho .NET junto com vários pacotes Nuget. Mas qual é a vantagem dessa abordagem? 🤔 Ele permite que você fixe seus projetos facilmente em versões específicas, além de fornecer acesso simples às compilações de visualização ou experimental.
Animações
Alguns métodos foram preteridos. Abaixo está uma tabela com suas substituições:

Como você pode ver, a sintaxe em si não mudou drasticamente. De fato, a única diferença é que todos os métodos existentes agora exigem adicionar o sufixo “Async” no final.
Compatibilidade.Layout
“Isso agora é removido de modelos e lançamentos. Use layouts .Net Maui.”
O que é compatibilidade.Layout?
Faz parte do Microsoft.Maui.Controls.compatibility namespace, que permitiu que muitos componentes xamarin.forms fossem compatíveis com .Net Maui. Portanto, se você tivesse um aplicativo mais antigo, ainda poderá trabalhar com os layouts anteriores sem problemas.
O que significa que foi removido?
Nesse caso, para .NET 10, não está mais incluído. No entanto, isso não é um problema, pois você pode substituí -lo pelos layouts atualmente disponíveis, como Grade, verticalstacklayout, horizontalstacklayout e flexlayoutque pode replicar o mesmo comportamento, mas com melhor desempenho e mais alinhado com as melhores práticas modernas.
Evento de seleção no editor e controles de entrada no Android
Em .Net Maui, o Entrada e Editor Os controles são renderizados usando vistas nativas em cada plataforma. No caso de Androidaté .NET 9 Ambos os controles usavam o nativo AppComPatedittExt.
Com .NET 10esses controles agora usam MauiappComPatedittExtuma classe .NET maui personalizada derivada do appComPatedittExt.
A principal melhoria introduzida por esta mudança é o suporte para o Seleção mudou Evento, que anteriormente não estava disponível no Android.
Interceptar solicitações da Web
Com o .NET 10, agora você pode interceptar solicitações da Web com os controles BlazorWebView e HybridWebView. Isso significa que toda vez que seu aplicativo solicita um URL, você pode intervir para modificá -lo – por exemplo, redirecioná -lo para outro domínio ou adicionar cabeçalhos de autenticação.
Vejamos um exemplo de como fazer isso:
webView.WebResourceRequested += (s, e) =>
{
if (e.Uri.ToString().Contains("api/secure"))
{
e.Handled = true;
e.SetResponse(200, "OK", "application/json", GetCustomStream());
}
};
No exemplo, o seguinte está acontecendo:
e.Handled = trueindica que seu aplicativo cuida da resposta.- No
e.SetResponseMétodo, os parâmetros significam:200: O código de status HTTP que está sendo retornado."OK": A mensagem associada ao código de status."application/json": O tipo de conteúdo da resposta (neste caso, um json).
GetCustomStream(): O fluxo de dados (fluxo) que contém a resposta real; Aqui você pode retornar um JSON local, um arquivo ou qualquer conteúdo que você deseja enviar para o WebView.
ListView
O ListView O controle foi preterido, juntamente com os tipos de células EntryCell, ImageCell, SwitchCell, TextCell e Viewcell. Em vez disso, você deve usar Coleçãoque fornece melhor desempenho e maior flexibilidade (pois permite designs mais complexos).
⚠️ o Célula A classe ainda não foi oficialmente preterida, pois ainda é usada internamente; No entanto, a Microsoft deixa claro que também deve ser considerado obsoleto.
Tabela View
Em Xamarin.forms e herdado nas primeiras versões de .net Maui, o Tabela View foi um controle projetado para exibir dados em um formato de tabela estruturado.
Mas agora, esse controle tem sido descontinuadoe você pode substituí -lo pelo Coleção.
Página
“O IsBusy A propriedade está marcada obsoleta. ”
Embora o IsBusy A propriedade ainda funciona para compatibilidade, é melhor evitar usá -la em futuras implementações. Como ainda há tempo, recomendo que a substitua gradualmente em seus projetos, se você já o implementar.
SearchBar
O SearchBar Agora inclui duas propriedades:
SearchIconColor: Uma propriedade Bindable que permite definir a cor do ícone de pesquisaReturnType: Uma propriedade vinculável que especifica a aparência do botão de retorno (o valor padrão é pesquisador)
Exemplo em xaml:
<SearchBar Placeholder="Search items..."
SearchIconColor="Red" />
Trocar
O Trocar Agora inclui uma nova propriedade:
OffColor: Uma propriedade vincular que define a cor do interruptor quando está no estado off -off
Exemplo em xaml:
<Switch OffColor="Red"
OnColor="Green" />
Vibração e Back de Vibração e Haptic
Vibração e hapticfeedback agora incluem o IsSupported Propriedade, que permite verificar se o recurso está disponível na plataforma em que seu aplicativo está em execução.
O Mediapicker foi aprimorado com dois recursos importantes:
- Seleção de arquivos múltiplos: Anteriormente, limitava -se a selecionar apenas um arquivo, mas agora você pode permitir que o usuário selecione vários arquivos de uma só vez.
- Compressão de imagem diretamente da API: Isso pode ser alcançado usando o
MaximumWidtheMaximumHeightParâmetros, que permitem definir o tamanho máximo das imagens quando são selecionadas.
Por exemplo:
var result = await MediaPicker.PickMultipleAsync(new MediaPickerOptions
{
MaximumWidth = 1024,
MaximumHeight = 768
});
Texto para fala
O SpeechOptions A classe agora inclui um Rate Propriedade, que permite controlar a velocidade de reprodução da voz.
Pop-ups
Alguns métodos foram preteridos. Abaixo está uma tabela com suas substituições:

Como você pode ver, a sintaxe em si não mudou drasticamente. De fato, a única diferença é que todos os métodos existentes agora exigem a adição do sufixo “assíncrona” no final.
Aperfeiçoamentos Safearea
Este lançamento introduz melhorias importantes no gerenciamento de Safearea:
- Maior controle com SafeareAedges: O
SafeAreaEdgesA propriedade foi aprimorada, permitindo um comportamento mais preciso em áreas seguras. - IOS correções: O espaço inferior extra em um scrollView ao usar
SafeAreaEdgesfoi resolvido, juntamente com outros problemas que ocorreram no iOS. - Melhores valores padrão: As configurações padrão foram ajustadas para fornecer comportamentos mais consistentes entre as plataformas.
O SafeAreaEdges property está disponível nos seguintes controles:
- Layout: Classe de layout base (herdada pela Grid, Stacklayout, FlexLayout, etc.)
- ContentView: Container de visualização de conteúdo
- ContentPage: Tipo de página principal
- Fronteira: Controle de fronteira
- ScrollView: Contêiner de conteúdo rolável
Conclusão
Este foi um breve resumo de algumas das principais atualizações que a Microsoft anunciou para .Net Maui na .NET 10. Para mais detalhes, recomendo ler o artigo completo “O que há de novo em .Net Maui para .NET 10. ”
Não se esqueça de começar a aplicar essas atualizações em seus projetos! E se você tiver alguma dúvida, sinta -se à vontade para deixá -los nos comentários.
Vejo você no próximo! 🙋♀️💚