As 70 principais perguntas e respostas da entrevista do WPF (2024)

Aqui estão as perguntas e respostas da entrevista do WPF para calouros e também para candidatos experientes para conseguir o emprego dos sonhos.


1. O que é WPF?

WPF é a API de apresentação mais recente do Microsoft Windows. É um mecanismo gráfico 2D e 3D. Suas capacidades incluem: -

  • Todos os controles de usuário comuns. Por exemplo, caixas de seleção, botões, controles deslizantes etc.
  • Suporta documentos de formato de fluxo e correção
  • todas as funcionalidades do Flash e HTML
  • Ligação de dados
  • Vídeos
  • Animação

Download gratuito de PDF: Perguntas e respostas da entrevista WPF


2. Quais são os tipos de documentos suportados pelo WPF?

Dois tipos de documentos suportados pelo Windows Presentation Foundation (WPF) são o formato Flow e o documento de formato fixo. O documento em formato de fluxo altera o conteúdo para caber no tamanho da tela, enquanto o documento em formato fixo apresenta conteúdo independentemente do tamanho da tela.


3. Nomeie o namespace necessário para trabalhar com 3D.

O namespace necessário para trabalhar em 3D é System.Windows.Media.Medi3D.


4. É correto dizer que o WPF substituiu o DirectX?

Não, o WPF nunca poderá substituir o DirectX. O WPF não pode ser usado para criar jogos com gráficos impressionantes. O WPF pretende ser um substituto para o Windows Form, não para o DirectX.


5. O que são propriedades de dependência?

Propriedades que pertencem a uma classe específica, mas podem ser usadas para outra, são chamadas de propriedades de dependência.

Perguntas da entrevista do WPF
Perguntas da entrevista do WPF

6. Como o tamanho do StatusBar pode ser aumentado proporcionalmente?

Anulando o atributo ItemsPanel de StatusBar por uma grade. As colunas da grade podem ser configuradas adequadamente para obter o resultado desejado.


7. O que são objetos Freezable no WPF?

Um objeto que tem seu estado bloqueado, de modo que se torna imutável, é conhecido como objeto congelável. Esses objetos têm melhor desempenho. Também é mais seguro se eles precisarem ser compartilhados entre threads.


8. Por que o WPF deve ser preferido ao Adobe Flash?

WPF é uma tecnologia mais recente e, portanto, possui as ferramentas de desenvolvimento mais recentes. Ele suporta uma gama mais ampla de linguagens de programação e possui uma reutilização robusta de controles.


9. Qual a diferença entre o Silverlight e o aplicativo de navegador WPF?

Uma das principais diferenças é que o .NET framework é necessário para executar aplicativos de navegador WPF na máquina cliente. Mas o Silverlight é executado usando apenas o plug-in. Outro ponto de diferença é que as aplicações feitas em WPF dependem do OS já que o .NET Framework só funciona no Windows. Por outro lado, o plug-in Silverlight também pode ser instalado em sistemas operacionais que não sejam Windows.


10. Nomeie os métodos presentes no DependencyObject.

Possui três objetos, a saber:

  • Definir valor
  • LimparValor
  • Obter valor

11. Escreva sobre o PRISM.

PRISM é um framework para criação de aplicações complexas para WPF, Silverlight ou Windows Phone. PRISM utiliza MVVM, IC, padrões de comando, DI e separação de preocupações para obter acoplamento fraco.


12. É possível usar Windows Forms em uma aplicação WPF?

Sim, o formulário do Windows pode ser usado no WPF. O formulário do Windows pode aparecer como um pop WPF. Os controles deste formulário Window podem ser colocados além dos controles WPF em uma página WPF utilizando as funções do controle WindowsFormsHost que vem pré-instalado.

Windows Presentation Foundation (WPF)
Windows Presentation Foundation (WPF)

13. Descreva brevemente o CustomControl.

CustomControl amplia as funções dos controles existentes. Consiste em um estilo padrão em Themes/Generic.xaml e um arquivo de código. É a melhor maneira de fazer uma biblioteca de controles e também pode ser estilizada ou modelada.


14. Cite os assemblies comuns usados ​​no WPF?

  • ApresentaçãoFundação
  • Base do Windows
  • ApresentaçãoCore

15. Defina animações de caminho no WPF

Animação de caminho é um tipo de animação em que o objeto animado segue um caminho definido pela geometria Path.


16. As aplicações WPF podem ser feitas sem XAML?

Sim, os aplicativos WPF podem ser criados sem XAML, pois usar XAML no WPF é uma questão de escolha.


 17. Quais são os tipos de janelas do WPF?

O WPF possui três tipos de janelas:

  • Janela normal
  • Janela da página
  • Janela de navegação

18. Como os elementos de um ListBox podem ser classificados?

A classificação pode ser feita usando uma propriedade do objeto ItemsCollection. ItemsCollection contém um atributo, SortDescriptions, que contém instâncias System.ComponentModel.SortDescription. Cada instância de SortDescription define como os elementos devem ser classificados e indica se a classificação é decrescente ou crescente.

Por exemplo, este código classifica elementos de ContentControl com base em sua propriedade de contagem de palavras:

myItemsControl.Items.SortDescriptions.Add(new SortDescription(“WordCount”, ListSortDirection.Descending));


19. Qual a diferença entre o MVVM e o MVC?

MVC significa Model-View Controller e.MVVM significa Model-View ViewModel.

No MVVM, o View Model é usado em vez de um controlador. Este modelo de visualização está presente abaixo da camada UI. Ele revela os objetos de comando e os dados que a visualização requer. Ele atua como um objeto contêiner do qual a visualização obtém suas ações e dados.


20. Explique eventos roteados no WPF.

Um evento, que pode invocar manipuladores em mais de um ouvinte presente em uma árvore de elementos, em vez do único objeto que chamou o evento, é conhecido como evento roteado.


21. Como a dll System.Windows.Media.Visual é utilizada no WPF?

Ele é usado sempre que surge um requisito para a criação de uma interface de usuário personalizada. É um objeto de desenho, que dá instruções para fazer um objeto. Estas instruções incluem opacidade, etc. do desenho. A classe Visual também faz a ponte entre as funcionalidades das classes gerenciadas do WPF e do MilCore.dll.


22. Quais são os vários painéis de layout do WPF?

Eles são:

  • Painel de pilha
  • Painel de grade
  • Painel de tela
  • Painel Dock
  • Painel envolvente

23. Cite os subsistemas importantes no WPF

Os principais subsistemas são:

  • Windows.Controles.Control
  • Windows.DependancyObject
  • Windows.FrameworkElement
  • Windows.Media.Visuals
  • objeto
  • Threading.DispatcherObject
  • Windows.UIElements

24. O que significa BAML no WPF?

BAML é a abreviatura de Binary Application Markup Language. Nada mais é do que XAML que foi tokenizado, analisado e alterado para o formato binário. BAML é uma linguagem declarativa compactada, que é carregada e analisada mais rapidamente que o XAML.


25. Qual é a diferença entre controles de página e janela no WPF?

A diferença básica é que o Controle de Janela preside os Aplicativos do Windows, enquanto o Controle de Página preside os Aplicativos de Navegador hospedados. Além disso, o controle de janela pode conter o controle de página, mas o inverso não pode acontecer.


26. O que são propriedades anexadas no WPF?

Propriedades anexadas são basicamente propriedades de dependência que permitem anexar um valor a qualquer objeto aleatório.


27. O que é a interface INotifyPropertyChanged?

O InotifyPropertyChanged notifica os clientes, geralmente aqueles que estão vinculados, se o valor de uma propriedade for alterado. Possui um evento, chamado PropertyChanged, que é gerado toda vez que uma propriedade do objeto Model é alterada.


28. Qual a diferença básica entre Eventos e Comandos no Modelo MVVM?

Os comandos são mais poderosos e vantajosos para uso em vez de eventos. As ações estão profundamente conectadas com a origem do evento e, portanto, os eventos não podem ser reutilizados facilmente. Mas os comandos tornam possível manter com eficiência múltiplas ações em um só lugar e depois reutilizá-las conforme nossa necessidade.


29. Qual é o método para forçar o fechamento de uma dica de ferramenta que está visível no momento?

Ele pode ser fechado definindo a propriedade IsOpen da dica de ferramenta como falsa.


30. Escreva as diferenças entre DynamicResource e StaticResource.

A diferença mais básica é que StaticResource avalia o recurso apenas uma vez, mas DynamicResource o avalia sempre que o recurso é necessário. E por esse motivo, DyanamicResource pesa muito no sistema, mas faz com que as páginas ou janelas carreguem mais rápido


31. Explique o padrão MVVM.

O padrão MVVM divide o código da UI em 3 partes básicas:

  • Modelo - Representa um conjunto de classes que contém dados recebidos de bancos de dados.
  • Visão - É o código que concorda com a representação visual dos dados.
  • Modelo de visualização – É a camada que une Visualização e Modelo. Ele apresenta esses dados de uma maneira fácil de entender. Ele também controla como o View interage com o aplicativo.

32. Por que os painéis de layout são necessários no WPF?

Painéis de layout são necessários para que os controles caibam em telas de tamanhos diferentes ou com tamanhos de fonte diferentes. Se organizarmos os controles em coordenadas de pixel fixas, esse modelo falhará quando for movido para um ambiente diferente. Por esta razão, os painéis Layout são necessários.


33. Escreva brevemente sobre UserControl.

UserControl agrupa os controles existentes em um único grupo reutilizável. Ele contém um arquivo XAML e um código. UserControl não pode ser estilizado ou modelado.


34. Qual é a maneira de determinar se um objeto Freezable está Frozen?

A propriedade “IsFrozen” do objeto pode ser usada para determinar se o objeto congelável está congelado.


35. Qual é a unidade de medida no WPF?

Todas as medições são feitas em pixels independentes de dispositivo ou pixels lógicos. Um pixel é 1/96 de uma polegada. Esses pixels lógicos são sempre mencionados como duplos, o que permite que também tenham um valor fracionário.


36. O que é um adorno?

Eles são um tipo especial de FrameworkElement que fornece pistas visuais ao usuário. Eles também são usados ​​para adicionar identificadores a elementos e fornecer informações sobre o estado de um controle. Os adornos são vinculados ao UIElement e são renderizados em uma superfície que fica acima do elemento adornado. Essa superfície é chamada de AdornerLayer. Os adornos são geralmente colocados em relação ao elemento delimitado.


37. Explique a serialização?

É o processo de conversão do estado de um objeto em fluxo de bytes.


38. O MDI é compatível com WPF?

MDI não é compatível com WPF. UserControl pode ser usado para fornecer a mesma funcionalidade do MDI.


39. O que é XBAP?

XBAP é a forma abreviada de aplicativo de navegador XAML. Ele permite que aplicativos WPF sejam executados em navegadores da web. A instalação do .NET framework na máquina cliente é um pré-requisito para a execução de aplicativos WPF. Mas os aplicativos hospedados não recebem acesso total à máquina do cliente e são executados em um ambiente sandbox. Usando o WPF, esses aplicativos também podem ser criados, que são executados diretamente no navegador. Esses aplicativos são chamados de XBAP.


40. Em que sentido o WPF e o Silverlight são semelhantes?

Silverlight e WPF são semelhantes no sentido de que ambos usam XAML e compartilham o mesmo código, sintaxe e bibliotecas.


41. Como fazer uma dica de ferramenta aparecer ao passar o mouse sobre um elemento desabilitado?

Para isso, a propriedade ShowOnDisabled pode ser utilizada. Pertence à classe ToolTipService.


42. Como fazer o ListBox rolar suavemente?

ListBox é configurado para rolar item por item por padrão. Isso depende da altura de cada elemento e da ação de rolagem, dando assim uma sensação áspera. A melhor maneira é configurar a ação de rolagem para que ela desloque os itens alguns pixels, independentemente de sua altura. Isso é feito definindo a propriedade ScrollViewer.CanContentScroll como “false”. Entretanto, isso fará com que o ListBox perca a propriedade de virtualização.


43. Onde começa a execução em uma aplicação WPF?

Os aplicativos WPF criados no Visual Studio são executados sem um método Main. Isso ocorre porque os aplicativos têm casos especiais quando são compilados a partir de XAML. Isso significa que o Visual Studio anexa uma ação de compilação de ApplicationDefinition ao arquivo XAML. Isso resulta na geração automática de um método Main.


44. O serviço do Windows pode ser criado usando WPF?

Não, os Serviços do Windows não podem ser criados usando WPF. WPF é uma linguagem de apresentação. Os serviços do Windows precisam de permissões específicas para executar algumas funções relacionadas à GUI. Portanto, se não obtiver as permissões necessárias, ocorrerá erros.


45. Quais são os diferentes tipos de eventos roteados no WPF?

Existem três tipos de eventos roteados no WPF. Eles são:

  • Direto - Este evento só pode ser gerado pelo elemento no qual foi originado.
  • Tunelamento – Este evento é gerado primeiro pelo elemento no qual foi originado e depois é gerado por cada contêiner consecutivo na árvore visual.
  • Borbulhando - Este evento é gerado primeiro pelo contêiner mais alto na árvore visual e depois é gerado por cada contêiner consecutivo abaixo do contêiner mais alto, até atingir o elemento onde foi originado.

46. ​​Por que é melhor agrupar itens em ComboBoxItem?

Possui algumas propriedades importantes como IsSelected e IsHighlighted e também alguns eventos necessários como Selected e Unselected. ComboBoxItem é um controle de conteúdo e, portanto, muito útil para adicionar strings simples a um ComboBox.


47. Como obter IDs de automação de itens em um ItemsControl?

A melhor maneira de fazer isso é definindo a propriedade Name, pois ela é utilizada para fins de automação por padrão. Mas se você precisar fornecer um ID para um elemento, diferente de seu nome, a propriedade AutomationProperties.AutomationID poderá ser definida conforme a necessidade.


48. Como os argumentos de linha de comando podem ser recuperados em um aplicativo WPF?

O método mais preferido para isso é chamar System.Environment.GetCommandLineArgs em qualquer ponto aleatório do aplicativo.


49. Indique o nome das classes que contêm conteúdo arbitrário.

Controle de Conteúdo

Controle HeaderedContent

Controle de Itens

Controle de itens com cabeçalho


50. Qual NameSpace possui controles 'Popup' e 'Thumb'?

O namespace system.windows.controls.primitives possui controles 'Popup' e 'Thumb'.


51. Explique o que é XAML? Qual é a diferença entre XML e XAML?

XAML significa eXtensible Application Markup Language. É a linguagem usada para instanciar objetos .NET. É a linguagem desenvolvida por Microsoft para escrever interface de usuário para aplicativos de próxima geração.

XML é projetado para armazenar dados ou trabalhar com os dados armazenados, enquanto XAML é a versão estendida de XML usada para programação .NET.


52. Mencionou a vantagem de usar XAML?

A vantagem de usar XAML é

  • O código XAML é fácil de ler e é curto
  • Separação de código e lógica do designer
  • Ferramentas como mistura de expressões usadas para design gráfico requerem XAML como fonte
  • Ele separa claramente as funções de designer e desenvolvedor

53. Como você pode codificar para exibir “Hello World” em XAML?

Exibindo “Olá, mundo”.

<page xmlns= '' ''>

<TextBlock>

Hello, World!

</TextBlock>

</Page>

54. Em XAML como os componentes gráficos são especificados?

Em XAML, os componentes gráficos são especificados por tags abertas ou fechadas com atributos.

Por exemplo,

  • Tag com conteúdo

Clique


  • Tag sem conteúdo

<Botão/>


55. O que é sintaxe de atributos em XAML?

No XAML, a sintaxe do atributo define um valor para uma propriedade ou nomeia o manipulador de eventos para um evento, declarando um atributo em um elemento. O valor do atributo deve ser colocado entre duas aspas (“).

Por exemplo,

< Button Background = “Black” Foreground “Red” Content = “This is an operating button”/>

XAML


56. Explique as propriedades do conteúdo XAML?

XAML representa um recurso de linguagem pelo qual uma classe pode atribuir exatamente uma de suas propriedades como propriedade XAML


57. Explique o que é extensão de marcação em XAML?

As extensões de marcação são espaços reservados em XAML usados ​​para resolver propriedades em tempo de execução. Uma extensão de marcação permite estender o XAML e, usando a sintaxe do atributo, você também pode definir qualquer propriedade que possa ser definida no XAML. O objetivo da extensão de marcação é processar uma string e retornar um objeto. Algumas das extensões de marcação padrão são xNull, x: Ordem, :StaticResource e DynamicResource.


58. Quais são os quatro tipos gerais de elementos XAML?

Os quatro tipos gerais de elementos XAML são

  • Elementos Raiz
  • Elementos do painel
  • Elementos de Controle
  • Elementos Geométricos

59. O que o prefixo X: indica em XAML?

O prefixo X: é usado para mapear o namespace XAML em modelos.


60. Quais são os vários prefixos X: usados ​​na linguagem XAML?

  • x: Chave à Define uma chave única para cada recurso em um Dicionário de Recursos
  • x: Classà Especifica o namespace CLR (Common Language Runtime) e o nome da classe que fornece o código
  • x: Nome à Especifica um nome de objeto de tempo de execução para a instância que existe no código de tempo de execução após um elemento de objeto ser processado
  • x: Estático à Habilita uma referência que retorna um valor estático que, de outra forma, seria uma propriedade compatível com XAML
  • x: Type à Constrói uma referência de Type com base no nome do tipo

61. Como você pode definir um atributo de propriedade como uma string literal e não uma extensão de marcação?

Para evitar a extensão da marcação, você deve usar um par vazio de chaves como

Conteúdo = “{} {Esta não é uma extensão de marcação}”/>


62. Quais são os tipos de filhos que o elemento de objeto pode ter em XAML?

Três tipos de filhos que um elemento de objeto pode ter

  • Itens de coleção
  • Um valor para a propriedade content
  • O valor que pode ser convertido em tipo para o elemento do objeto

63. Explique o que é Type Converter?

O conversor de tipo é útil para converter uma string no tipo de valor apropriado onde não há uso de extensão de marcação. Type Converter define quatro membros para conversão de e para string para fins de xaml.

  • CanConvertTo
  • CanConvertFrom
  • Converter para
  • Converter de

64. Explique a sintaxe do elemento do objeto em XAML?

Para instanciar uma classe ou estrutura CLR declarando um elemento XML, é usada uma sintaxe de marcação XAML. Essa sintaxe é conhecida como Sintaxe do Elemento do Objeto.


65. Quais são as maneiras de declarar objetos em XAML?

Para declarar objetos em XAML, existem três maneiras

  • Diretamente, usando sintaxe de elemento de objeto: esta sintaxe é usada para declarar objetos raiz ou objetos aninhados que definem valores de propriedade
  • Indiretamente usando sintaxe de atributo: Esta sintaxe usa um valor de string embutido que contém instruções sobre como criar um objeto. Para definir o valor da propriedade para uma referência recém-criada, o analisador XAML usa esta cadeia de caracteres
  • Usando uma extensão de marcação

66. O que um elemento raiz de um documento XAML deve conter?

No documento XAML, o elemento raiz consiste apenas em alguns elementos, e esses elementos são Window, Canvas ou painéis.


67. O que é vinculação de dados com XAML?

A vinculação de dados fornece uma maneira simples de exibir e interagir com dados. Um exemplo mostrará como você pode vincular dados em XAML. A ligação em XAML é feita usando a sintaxe {binding….}.


68. Explique como você pode exibir dados diferentes em tempo de execução e em tempo de design?

  • Uma maneira de exibir dados em tempo de execução e tempo de design é declarar seus dados em XAML
  • Outra maneira de fazer isso é declará-lo em XAML usando vários atributos de dados do namespace XML do designer. Com o prefixo ad:, esse namespace normalmente é declarado.

xmlns:d= http://schemas.microsoft.com/expression/blend/2008


69. Explique o que é a função x: diretiva chave em XAML?

X: Key identifica exclusivamente elementos que são criados e referenciados em um dicionário definido por XAML. Ao adicionar um valor x: Key a um elemento de objeto XAML, um recurso no dicionário de recursos pode ser identificado e é a forma mais comum de identificação.


70. Explique qual é o uso da sintaxe do elemento de propriedade?

Com a ajuda da sintaxe do elemento de propriedade, você pode adicionar o elemento filho com um nome na forma parent.propertyName.


71. Como as classes personalizadas usadas em XAML podem ser definidas?

Classes personalizadas são usadas de duas maneiras

  • Com o código que produz o aplicativo Primary Windows Presentation Foundation (WPF) ou dentro do código por trás
  • Em um assembly separado como uma classe, como um executável ou DLL usado como biblioteca de classes

72. O que é namespace Xaml?

Namespace pode ser definido como um ambiente ou um contêiner abstrato usado para armazenar um agrupamento lógico de identificadores ou símbolos exclusivos.

Essas perguntas da entrevista também ajudarão em sua viva (oral)

Partilhar

um Comentário

  1. Por favor, verifique novamente a definição do túnel e do evento de bolha, pois parece intercambiado.
    Deixe-me saber se estou errado.

Deixe um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *