Pergunta

Estou aprendendo WPF há cerca de uma semana agora .. e tenho uma pergunta básica:

De uma visão de negócios e visão de desenvolvimento (fora de sua experiência) .. o que pode e o que não pode ser feito com o WPF (recursos).

Por favor, tente ser ilustrativo ..

Exemplos de respostas indesejadas:
"Funcionando totalmente as aplicações independentes com muita animação e imagens brilhantes"

Uma segunda pergunta:
Se eu construir uma interface do usuário xbap para o meu aplicativo, posso fazer a interface do usuário "não mostrar" em um navegador!

Se você vai responder de tutoriais/sites/livros .. por favor, não copie -os diretamente, tente escrevê -lo com suas próprias palavras ...

Foi útil?

Solução

Você pode hospedar qualquer coisa criada na API Win32 GDI/Usuário (WinForms, ActiveX Controls) dentro de um aplicativo WPF; portanto, mesmo se você atingir alguma limitação com um aplicativo que é principalmente WPF, sempre poderá hospedar alguns controles antigos dentro dele.

E como 3.5 SP1, você também pode hospedar gráficos diretos animados de animação (embora o suporte 3D da WPF forneça suas próprias maneiras muito mais simples de alcançar as coisas mais comumente feitas).

Quanto à comparação, a principal vantagem do WPF sobre o WinForms é a maneira como ele mantém de perto seu próprio modelo baseado em componentes; portanto, uma proporção muito grande de controles é capaz de atuar como contêineres para outros controles. Quer colocar uma caixa combinada em um item de menu? Não sei por que faria, mas pode. Mais útil, você pode colocar um botão em uma caixa de listagem (ou visualização de árvore). Esses tipos de coisas não são possíveis, a menos que você implemente todos os controles padrão desde o início (que é o que o WPF faz).

As desvantagens provavelmente são temporárias: pode ser um pouco instável em algumas máquinas (o código de renderização parece servente para exibir incompatibilidade do driver), mas isso fica melhor com cada pacote de serviço. Além disso, a renderização de texto foi fortemente criticada - ela vai um pouco mais longe com o Anti -Aliasing do ClearType do que o Windows normalmente, então algumas pessoas reclamam que parece embaçado.

(A razão pela qual elas provavelmente serão questões temporárias é que o Visual Studio 2010 da Microsoft está adotando o WPF. Então eles agora estão "comendo seu próprio cachorro".)

Outras dicas

Você pode praticamente fazer qualquer coisa no WPF de que precisaria de um aplicativo GUI. Mas esse não é o verdadeiro benefício, IMHO.

Um dos benefícios reais do WPF é a velocidade e a simplicidade do desenvolvimento, depois que você passa pela curva de aprendizado (e há uma curva de aprendizado!)

O outro grande benefício, e provavelmente o maior, é que ele permite que os designers trabalhem na apresentação, façam muitas coisas interativas, todas usando uma ferramenta amigável para designers (amigável, de qualquer maneira) e não precisam enviar solicitações aos codificadores. Apenas alterando o .xaml, um designer pode fazer com que um aplicativo pareça quase completamente diferente e adicionar todos os tipos de comportamentos (painéis desaparecendo, expandindo, todos os tipos de coisas legais). Sem alterar uma linha de código.

Você pode, em teoria, fazer qualquer coisa no WPF o que deseja. Compare -o com um aplicativo WinForms. Existe algo que você não pode construir com isso? Na verdade, não. O mesmo vale para o WPF. É que o WPF é mais adequado para algumas coisas, como animações, vídeo, gráficos, etc. Como é baseado em XAML, também é mais adequado para o banco de dados contra o XML, por exemplo. Veja também esta pergunta relacionada.

Quanto à sua segunda pergunta, não tenho certeza do que você quer dizer com isso. Você quer dizer se você pode mostrar sites usando o WPF? Sim, é claro, assim como o WinForms.

Ah, no WPF, algumas coisas ainda não são implementadas. DataGridViews como exemplo popular estão apenas na visualização CodePlex. Você tem muitas coisas como TheExpander, que funcionam de maneira diferente, e pode ter muitos problemas com o conteúdo autossinado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top