Use ComponentResourceKey instead of strings to identify resources
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece localizando as declarações dos dicionários de recursos e os usos de XAML que atualmente identificam recursos com strings. Revise o padrão estático ComponentResourceKey proposto e determine o escopo da migração. O trabalho estará concluído quando os recursos usarem chaves verificadas pelo compilador e a decisão sobre compatibilidade retroativa ou versionamento estiver documentada e validada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Is your feature request related to a problem? Please describe.
- Currently resources are identified using strings. The string can only be validated at runtime and not while writing the XAML code
- When a resource key changes in a new version, the compiler does not indicate a problem and we get an Exception at runtime
Describe the solution you'd like
- Using
ComponentResourceKeywould make resources type-save - Optional: preserve the existing string-based resource keys for backward-compatibility, or increase the version number because of breaking changes
Describe alternatives you've considered
- Don't know a better way
Additional context
To create the resource key, you need to create a Component resource key in a static class:
public static partial class MaterialDesignColors
{
public static ComponentResourceKey Primary50Color { get; } = new(typeof(MaterialDesignColors), nameof(Primary50Color));
// ...
}
When declaring the resource in the ResouceDictionary, use the ComponentResourceKey as Key:
<Color Key="{x:Static md:MaterialDesignColors.Primary50Color}" ... />
When using the resource, we can now use a static reference that is checked by the compiler:
<Brush Color="{DynamicResource {x:Static md:MaterialDesignColors.Primary50Color}}" ... />
- Linguagem predominante
- C#
- Estrelas
- 16.3k
- Forks
- 3.5k
- Merge médio
- 1d 15h
- PRs com merge (30d)
- 10
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de MaterialDesignInXAML/MaterialDesignInXamlToolkit
-
enhancement up-for-grabs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#2485 ·
Mantenedores costumam responder em até 1 dia
-
Deadzone in `NumericUpDown` controlTalvez já em andamento @Keboo assumiu há 7 dias. Abertabug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 58/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#4094 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#4093 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Adding filterable datagridAbertaenhancement evaluation required
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#3997 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug evaluation required
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#3971 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de MaterialDesignInXAML/MaterialDesignInXamlToolkit
Issues semelhantes
-
[i18n] 安装实例完成后的成功提示未正确本地化Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
PCL-Community/PCL-CE#3658 ·
Mantenedores costumam responder em até 1 dia
-
Deploy & Patch-issues opprettes ikke: create-pnd-issues.yml har feilet hver uke siden 2025-09-08Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Altinn/altinn-auth#4359 ·
Mantenedores costumam responder em até 1 dia
-
アプリ: チャット 優先: 中 提案
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
yksr-melt/Meltype#243 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Workflows: a workflow stored with null conditions is skipped with an exception instead of runAbertabug core
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
type/automation type/tech-debt
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia