J'utilise le ruban de bureau WPF, et j'ai une vue de contenu que je voudrais ajouter de nouveaux éléments au ruban lorsque cette vue devient active. J'ai du code qui ajoute un nouveau RibbonCommand ainsi qu'un nouveau RibbonButton au groupe que je veux, mais rien ne se passe quand je l'ajoute. Cependant, si j'ajoute un nouveau groupe avec le bouton, il se lève bien et est lié correctement. Y at-il une méthode pour l'obtenir pour mettre à jour que j'ai manqué? J'ai essayé UpdateLayout() et ça ne marche pas non plus. Je voudrais vraiment essayer d'éviter de reconstruire tous les groupes à chaque fois que la vue change.Ajout de nouveaux éléments au ruban WPF via le code
Travaux:
public void InjectItems(IView view)
{
var ribbonCommands = ProcessRibbonCommands(view.GetViewModel().Tasks, view.GetType());
var group = new RibbonGroup();
group.Command = new RibbonCommand() { LabelTitle = "Group Test" };
foreach (RibbonCommand command in ribbonCommands)
{
shell.MainRibbon.Resources.Add(command.Name, command);
group.Controls.Add(new RibbonButton { Command = command });
}
shell.MainRibbon.SelectedTab.Groups.Add(group);
}
ne fonctionne pas:
public void InjectItems(IView view)
{
var ribbonCommands = ProcessRibbonCommands(view.GetViewModel().Tasks, view.GetType());
var group = shell.MainRibbon.SelectedTab.Groups[0]; //I have a default group, will fix later
foreach (RibbonCommand command in ribbonCommands)
{
shell.MainRibbon.Resources.Add(command.Name, command);
group.Controls.Add(new RibbonButton { Command = command });
}
}
Avez-vous déjà trouvé cela? Je rencontre le même problème et je ne peux pas ajouter de nouveaux éléments à un groupe existant via le code. –