Pergunta

Não parece haver nenhuma boa maneira de localizar um aplicativo WPF. MSDN parece pensar que desarrumar minha XAML com x:Uid de, gerando arquivos CSV, e depois gerar novas montagens (usando seu código de exemplo!) É a resposta. Pior ainda, este processo não trata de como localizar imagens, blobs binários (por exemplo, arquivos PDF), ou cordas que são incorporados no código.

Então, como pode você localizar um aplicativo que:

  1. contém várias assembleias
  2. Contém imagens e outros blobs binários (por exemplo: documentos PDF) que precisam ser localizadas
  3. Tem dados de cadeia que não está em XAML (por exemplo: MessageBox.Show("Hello World");)
Foi útil?

Solução

Não um especialista aqui, mas "lixo" seu xaml com x:. Uids não é pior do que o "lixo" código de seu Windows Forms com todos os disparates tabela de cadeia que tem de fazer para localizá-los

Tanto quanto eu entendo, WPF aplicativos ainda apoiar "todos os recursos Framework CLR incluindo tabelas de cadeia, imagens, e assim por diante." que significa que você pode ter recursos localizados.

É claro, seria muito mais simples se você criou uma extensão de marcação que tratado muito deste absurdo para você. Você pode encontrar um exemplo de alguém fazer isso aqui. E aqui está uma outra solução, similar.

Outras dicas

Você deve ter um olhar para o artigo e código disponível aqui . Ele descreve diferentes maneiras de localizar aplicativos WPF, usando LocBaml, extensões costume de marcação, ou propriedades anexadas. IMHO a melhor solução é usar as extensões de marcação e recursos RESX. O código contém uma estrutura de localização para fazer isso.

Você pode usar os arquivos antigos "RESX" que suportam todos os seus cenários mencionados. Como isso pode ser feito em um aplicativo WPF é explicado aqui:

WPF Application Framework (WAF) => Veja Localização Amostra

tentar os utilitários GNU gettext, e suporte a aplicativos. Ele gerar classes C # baseado em torno de ResourceManager e ResourceSets, e de claro que você pode reutilizar as traduções para outras partes do seu aplicativo -. por exemplo, páginas web, código nativo, ou iphone etc

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