Use ComponentResourceKey instead of strings to identify resources
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia individuando le dichiarazioni dei dizionari di risorse e gli utilizzi XAML che attualmente identificano le risorse tramite stringhe. Esamina il pattern statico ComponentResourceKey proposto e determina l'ambito della migrazione. Il lavoro è completato quando le risorse usano chiavi verificate dal compilatore e la decisione relativa alla compatibilità con le versioni precedenti o al versioning è documentata e convalidata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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}}" ... />
- Lingua principale
- C#
- Stelle
- 16.3k
- Fork
- 3.5k
- Merge medio
- 1g 15h
- PR unite (30g)
- 10
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di MaterialDesignInXAML/MaterialDesignInXamlToolkit
-
enhancement up-for-grabs
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#2485 ·
I maintainer di solito rispondono entro 1 giorno
-
Deadzone in `NumericUpDown` controlForse già presa @Keboo l’ha presa 6 giorni fa. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#4094 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#4093 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Adding filterable datagridApertaenhancement evaluation required
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#3997 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug evaluation required
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#3971 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di MaterialDesignInXAML/MaterialDesignInXamlToolkit
Issue simili
-
type/automation type/tech-debt
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
High-DPI fixes for release/1.3: editor toolbar icons and Color Picker layout (patch included)Apertano-stack-trace
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
v9 review: TestingApertadocs/external squad/utforming
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Altinn/altinn-studio#21041 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
stryker-mutator/stryker-net#3892 ·
I maintainer di solito rispondono entro 1 giorno