Use ComponentResourceKey instead of strings to identify resources
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par localiser les déclarations des dictionnaires de ressources et les utilisations de XAML qui identifient actuellement les ressources à l’aide de chaînes. Examinez le modèle statique ComponentResourceKey proposé et déterminez la portée de la migration. Le travail est terminé lorsque les ressources utilisent des clés vérifiées par le compilateur et que la décision concernant la rétrocompatibilité ou le versionnage est documentée et validée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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}}" ... />
- Langage dominant
- C#
- Étoiles
- 16.3k
- Forks
- 3.5k
- Merge moyen
- 1 j 15 h
- PR mergées (30 j)
- 10
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de MaterialDesignInXAML/MaterialDesignInXamlToolkit
-
enhancement up-for-grabs
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#2485 ·
Les mainteneurs répondent en général sous 1 jour
-
Deadzone in `NumericUpDown` controlPeut-être pris @Keboo l’a pris il y a 6 jours. Ouvertebug
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#4094 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#4093 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Adding filterable datagridOuverteenhancement evaluation required
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#3997 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug evaluation required
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#3971 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de MaterialDesignInXAML/MaterialDesignInXamlToolkit
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
stryker-mutator/stryker-net#3892 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
MobiFlight/MobiFlight-Connector#3419 ·
Les mainteneurs répondent en général sous 1 jour
-
`Source` with an `avares://` URI and a `#fragment` throws instead of scrolling to the anchorOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Kryptos-FR/MarkView.Avalonia#105 ·
Les mainteneurs répondent en général sous 1 jour
-
[辞書]Ouverte提案 辞書
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
microsoft/fluentui-blazor#5410 ·
Les mainteneurs répondent en général sous 1 jour