pack: / / application:,,,/ResourceFile.xaml nunca funciona

Eu nunca fui capaz de obter este formato de referência Um Dicionário de recursos para funcionar. O que me está a escapar.

cenário:

Criar e reunir com alguns usercontrols.
No root, disse file {root} / Themes / ColorThemes.xaml
Os ColorThemes.o ficheiro xaml tem a sua acção de compilação definida em recurso .
Em seguida, no ficheiro xaml mais abaixo, deixe dizer {root}/controla/ButtonStyles/Themes / ButtonThemes.xaml (note que o caminho é apenas um exemplo) neste arquivo eu tenho o seguinte bit de código:

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="pack://application:,,,/Themes/ColorThemes.xaml"/>
</ResourceDictionary.MergedDictionaries>

até o documentação informar isso deve funcionar (tal como eu o entendo), e enquanto eu estou no designer parece ser boa (todas as cores de carga, etc), no entanto, quando eu, então, ir e compilar meu aplicativo e executá-la obtenho este erro {"não é Possível localizar o recurso 'themes/colorthemes.xaml"."o que é estranho porque parecia estar a usar muito bem no construtor. Então eu estou confuso porque parece não coincidir com a documentação.Por isso, se alguém me puder explicar o que me está a escapar ... :)

Nota: Se alterar o código anterior para

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="../../../Themes/ColorThemes.xaml"/>
</ResourceDictionary.MergedDictionaries>

funciona bem, no entanto, para embalagem limpa: / / aplicação: .

Author: Athari, 2014-03-10

2 answers

Tenta:

pack://application:,,,/YOURNAMESPACEHERE;component/Themes/ColorThemes.xaml
 14
Author: safetyOtter, 2014-03-10 00:00:26
Não consigo reproduzir o teu problema. Todas estas variações funcionam bem:
<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="pack://application:,,,/Themes/ColorThemes.xaml"/>
    <ResourceDictionary Source="/Themes/ColorThemes.xaml"/>
    <ResourceDictionary Source="../../Themes/ColorThemes.xaml"/>
</ResourceDictionary.MergedDictionaries>

Note que pack://application:,,, é opcional e / refere-se à raiz do conjunto actual.

Por favor, dê um exemplo mínimo completo que reproduz o seu problema.

 7
Author: Athari, 2014-03-10 00:16:07