Changing the language of a window breaks displaying child nodes of a TreeView

Ouverte
#3,154 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
48/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
csharp
Domaine
desktop

Piste de recherche

Commencez par MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.TreeView.xaml, au niveau de la liaison autour de la ligne 359, puis reproduisez le problème avec l’application d’exemple liée et son scénario de changement de langue. Cherchez pourquoi la liaison référence le mauvais ItemsHost après la mise à jour de l’UI ; le travail est terminé lorsque les nœuds enfants de TreeView s’affichent correctement après le changement de langue de la fenêtre.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug evaluation required
Bug explanation

Changing the language of a window breaks displaying child nodes of a TreeView. I assume it has something to do with an UI update because it breaks in another app when different TreeViews are displayed. The only way I can reliably reproduce the issue is with the language change.

Here is a video demonstrating the issue. I also uploaded an example app.

https://user-images.githubusercontent.com/31562861/229203111-cf8afc11-aac1-4830-878d-4d41ee21e4e9.mp4

Using Snoop I figured out that this binding breaks as it somehow references the wrong ItemsHost element.

I temporarily fixed the issue by changing the line from

<Binding ElementName="ItemsHost" Path="ActualHeight" />

to

<Binding RelativeSource="{RelativeSource Mode=Self}" Path="Children[0].ActualHeight" />

I don't think that is the proper solution though.

Version

4.6.1, 4.8.0

Langage dominant
C#
Étoiles
16.3k
Forks
3.5k
Merge moyen
4 h 25 min
PR mergées (30 j)
4

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de MaterialDesignInXAML/MaterialDesignInXamlToolkit

Toutes les issues de MaterialDesignInXAML/MaterialDesignInXamlToolkit

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.