Pergunta

Estou aprendendo WPF.

Eu quero dar o meu próprio método principal em meus App.xaml.cs ao invés de ficar aquele gerado por mim no App.g.cs. No entanto, eu continuo recebendo conflitos porque eu não descobri como parar um principal adicional de ser gerado.

Existe uma configuração no meu arquivo de projeto ou em outro lugar que controla isso?

Foi útil?

Solução

Eu encontrei a resposta aqui. http://learnwpf.com/post/2007/12/13/How-can-I-provide-my-own-Main%28%29-method-in-my-WPF- Application.aspx

É:

A maneira WPF sabe para criar o método Main () para um arquivo xaml particular é através do conjunto de propriedades ação de compilação para App.xaml - tem uma ação de compilação de ApplicationDefinition. Ao mudar isso para página WPF não vai criar o método principal e você pode fornecer o seu próprio em um arquivo de classe regular você adicionar ao projeto.

No entanto nos comentários para o blog acima, um comentário notas, pode haver problemas com a mistura e ele faz referência: http://blogs.msdn.com/expression/archive/2008/04/09/creating -a-wpf-mistura-projeto que-cargas de recursos-em-code.aspx . Eu não compreender totalmente os problemas ainda.

Outras dicas

Você também pode simplesmente criar uma classe separada (por exemplo, Entry), que é responsável por bootstrapping sua aplicação. Então vá para Configurações do projeto e definir o seu objeto de inicialização para Entry. Dessa forma, você não tem sequer para desativar o método gerada automaticamente.

A maneira mais fácil é definir o Build Action na janela Propriedades de ApplicationDefinition a página para App.xaml.

Em seguida, você pode definir seu próprio ponto de entrada.

Eu encontrei uma solução:

  1. Copiar os dados de seu arquivo app.xaml
  2. arquivo app.xaml Excluir e recriar com o mesmo nome
  3. Criar `método main` em ficheiro.cs, e cole o código copiado velho para ele

Uma maneira é abrir mão de definir uma classe derivada de Aplicação em XAML, então você pode definir manualmente o método principal com sua exigência personalizada

A maneira mais fácil apenas criar uma classe como Startup.cs com ação de compilação para compilar e remover ApplicationDefinition de App.xaml converso que a página e removê-lo de qualquer outro arquivo no aplicativo

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