Partilhar via


Microsoft.UI.Xaml.Core.Direct Namespace

Fornece uma maneira para que os autores de middleware acessem APIs XAML de baixo nível e de alto desempenho e obtenham melhor desempenho de CPU e conjunto de trabalho.

Observação

Esse namespace requer o pacote NuGet Microsoft.UI.Xaml.Core.Direct , uma parte da Biblioteca de Interface do Usuário do Microsoft Windows.

Esta documentação se aplica ao WinUI 2 para UWP (para WinUI no SDK do Aplicativo Windows, consulte os namespaces SDK do Aplicativo Windows).

Classes

XamlDirect

Representa a classe base para todas as APIs XamlDirect . Todas as APIs XamlDirect são métodos de instância dessa classe.

O XamlDirect é uma API para acessar o Xaml em um nível mais primitivo para melhorar o desempenho da CPU e do conjunto de trabalho.

Esta documentação se aplica ao WinUI 2 para UWP (para WinUI no SDK do Aplicativo Windows, consulte os namespaces SDK do Aplicativo Windows).

Interfaces

IXamlDirect

Representa a classe base para todas as APIs XamlDirect . Todas as APIs XamlDirect são métodos de instância dessa classe.

O XamlDirect é uma API para acessar o Xaml em um nível mais primitivo para melhorar o desempenho da CPU e do conjunto de trabalho.

Esta documentação se aplica ao WinUI 2 para UWP (para WinUI no SDK do Aplicativo Windows, consulte os namespaces SDK do Aplicativo Windows).

Enumerações

XamlEventIndex

Enumeração que lista todos os eventos com suporte no XamlDirect.

Esta documentação se aplica ao WinUI 2 para UWP (para WinUI no SDK do Aplicativo Windows, consulte os namespaces SDK do Aplicativo Windows).

XamlPropertyIndex

Enumeração que lista todas as propriedades com suporte no XamlDirect.

Esta documentação se aplica ao WinUI 2 para UWP (para WinUI no SDK do Aplicativo Windows, consulte os namespaces SDK do Aplicativo Windows).

XamlTypeIndex

Enumeração que lista todos os tipos com suporte no XamlDirect.

Esta documentação se aplica ao WinUI 2 para UWP (para WinUI no SDK do Aplicativo Windows, consulte os namespaces SDK do Aplicativo Windows).

Exemplos

Dica

Os aplicativos da Galeria do WinUI 3 e da Galeria do WinUI 2 incluem exemplos interativos da maioria dos controles, recursos e funcionalidade do WinUI 3 e do WinUI 2.

Se já estiverem instalado, abra-os clicando nos seguintes links: Galeria do WinUI 3 ou Galeria do WinUI 2.

Se eles não estiverem instalados, você poderá baixar a Galeria do WinUI 3 e a Galeria do WinUI 2 da Microsoft Store.

Você também pode obter o código-fonte para ambos do GitHub (use o branch main para WinUI 3 e o branch winui2 para WinUI 2).

O exemplo a seguir mostra como adicionar um valor a uma coleção usando APIs XamlDirect .

XamlDirect xd = XamlDirect.GetDefault();

IXamlDirect relativePanel = xd.CreateInstance(XamlTypeIndex.RelativePanel);

IXamlDirect childrenCollection = xd.GetXamlDirectObjectProperty(relativePanel, XamlPropertyIndex.Panel_Children);

IXamlDirect button = xd.CreateInstance(XamlTypeIndex.Button);
xd.AddToCollection(childrenCollection, button);
XamlDirect^ xd = XamlDirect::GetDefault();

IXamlDirect^ relativePanel = xd->CreateInstance(XamlTypeIndex::RelativePanel);

IXamlDirect^ childrenCollection = xd->GetXamlDirectObjectProperty(relativePanel, XamlPropertyIndex::Panel_Children);

IXamlDirect^ button = xd->CreateInstance(XamlTypeIndex::Button);
xd->AddToCollection(childrenCollection, button);

Comentários

XamlDirect é **purpose built for middleware*- that predominantemente use APIs imperativas para criar interface do usuário em vez de marcação. Com AS APIs XamlDirect , você pode obter paridade de desempenho com o analisador XAML mesmo ao criar a interface do usuário imperativamente no código.

XamlDirect As APIs podem ser usadas lado a lado com APIs tradicionais e aproveitar o pagamento por melhorias no desempenho do jogo.

Nem todas as APIs Xaml estão disponíveis com XamlDirect. A enumeração XamlTypeIndex lista todos os tipos com suporte, a enumeração XamlPropertyIndex lista todas as propriedades com suporte e a enumeração XamlEventIndex lista todos os eventos com suporte.

Funções suportadas

Você pode executar as seguintes funções usando APIs XamlDirect:

Todos os objetos retornados por CreateInstance são do tipo IXamlDirect. Todas as outras APIs, como as APIs set*Property, tomam um IXamlDirect como seu primeiro parâmetro.

Para converter um IXamlDirect em seu APINDEX completo, por exemplo, um Botão, use o método GetObject(System.Object ). Da mesma forma, você pode usar GetXamlDirectObject para converter de um Objeto/DependencyObject completo para sua instância equivalente XamlDirect.

Confira também