Dimensionamento compacto para controlos

Os controlos do WinUI 3 são concebidos com espaçamento otimizado para interação tátil. Para aplicações de ambiente de trabalho onde os utilizadores usam principalmente rato ou teclado, pode aplicar um estilo compacto de densidade para reduzir a altura e o preenchimento dos controlos. Isto torna mais conteúdo visível no ecrã sem que o utilizador precise de fazer scroll.

O dimensionamento compacto aplica-se a controlos interativos comuns como Button, CheckBox, ComboBox, TextBox, Slider, , e outros.

Aplique tamanhos compactos a uma página

Adicione o dicionário de recursos de tamanhos compactos aos recursos da sua página ou painel:

<Page.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="ms-appx:///Microsoft.UI.Xaml/DensityStyles/Compact.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Page.Resources>

Esta substituição aplica-se a todos os controlos na página. Pode atribuir o âmbito a um painel específico colocando o dicionário de recursos no painel Resources em vez do da página Resources.

Aplique tamanhos compactos a toda a aplicação

Para aplicar tamanho compacto a todas as páginas da sua aplicação, adicione o dicionário de recursos a App.xaml:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
            <ResourceDictionary Source="ms-appx:///Microsoft.UI.Xaml/DensityStyles/Compact.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

Importante

Junte o dicionário compacto depoisXamlControlsResources para que ele substitua corretamente os valores de tamanho padrão.

Dimensionamento de comutadores em tempo de execução

Pode ativar ou desativar o dimensionamento compacto em tempo de execução, adicionando ou removendo o dicionário de recursos nos recursos de um painel:

// Apply compact sizing
var compactDict = new ResourceDictionary
{
    Source = new Uri("ms-appx:///Microsoft.UI.Xaml/DensityStyles/Compact.xaml")
};
MyPanel.Resources.MergedDictionaries.Add(compactDict);

// Remove compact sizing (restore default sizing)
MyPanel.Resources.MergedDictionaries.Remove(compactDict);

Escolha de uma densidade

Scenario Recommendation
Aplicações de produtividade ou introdução de dados (tabelas, formulários, definições) Dimensionamento compacto
Aplicações de consumo ou aplicações concebidas para entrada tátil Tamanho padrão
Aplicações mistas com painel de definições Aplique o dimensionamento compacto apenas ao painel de definições

O WinUI 3 oferece apenas dois níveis de densidade: padrão e compacto. Não existe uma API que defina um valor de densidade arbitrário.

Ícone da Galeria WinUI 3 A aplicação WinUI 3 Gallery inclui exemplos interativos de controlos e funcionalidades WinUI. Descarrega a aplicação na Microsoft Store ou navega pelo código-fonte no GitHub.