2017-10-05 2 views
0

Hey, j'ai un problème avec le complément de mon mot.Le complément de texte ne met pas à jour le ruban lorsque le panneau latéral est fermé

Fondamentalement, j'ai un ruban et un panneau latéral. Lorsque je clique sur le panneau d'affichage sur mon ruban, il affiche mon panneau et lorsque je clique sur le cacher, il masque maintenant le panneau.

Maintenant, le problème que je rencontre est que lorsque je clique sur le bouton 'x' en haut à droite de la macro, le bouton show/hide ne change pas de texte.

Quelqu'un peut-il me conseiller sur la façon d'ajouter un écouteur d'événement ou quelque chose du genre pour la fermeture du panneau latéral pour changer le texte?

enter image description here

enter image description here

namespace examplele_word 
{ 
    /// <summary> 
    /// Interaction logic for MainContainerPanel.xaml 
    /// </summary> 
    public partial class MainContainerPanel : UserControl 
    { 
     private WordDocInstanceController _controller; 
     public WordDocInstanceController controller { 
      get { 
       return this._controller; 
      } 
      set { 
       this._controller = value; 
       this.itemDetailsPanel.controller = value; 
       this.searchItemsPanel.controller = value; 
       this.loginPanel.controller = value; 
      } 
     } 

     public MainContainerPanel() 
     { 
      InitializeComponent(); 
     } 

     public void showLoginPanel() 
     { 
      itemDetailsPanel.Visibility = Visibility.Hidden; 
      searchItemsPanel.Visibility = Visibility.Hidden; 
      loginPanel.Visibility = Visibility.Visible; 
     } 
     public void showSearchItemsPanel() 
     { 
      loginPanel.Visibility = Visibility.Hidden; 
      itemDetailsPanel.Visibility = Visibility.Hidden; 
      searchItemsPanel.resetPanel(); 
      searchItemsPanel.Visibility = Visibility.Visible; 
     } 
     public void showItemDetailsPanel (ItemDTO item) 
     { 
      itemDetailsPanel.displayNewItem(item); 
      loginPanel.Visibility = Visibility.Hidden; 
      searchItemsPanel.Visibility = Visibility.Hidden; 
      itemDetailsPanel.Visibility = Visibility.Visible; 
     } 


    } 
} 
+0

pouvez-vous inclure votre code actuel dans la question? – hellyale

+0

Ai-je besoin de? Fondamentalement, je veux savoir comment remplacer l'événement de fermeture du panneau latéral. Je ne suis pas sûr comment mon code actuel aiderait cela – Seamy

+0

Le code derrière vos vues a probablement le chemin le plus rapide à la réponse ... – hellyale

Répondre

0

Vous pouvez gérer la pour déterminer quand l'utilisateur final événement VisibleChanged ferme le volet de tâches personnalisé. Cependant, veuillez noter que les applications Office vous empêchent de modifier certaines propriétés du volet de tâches personnalisées dans le gestionnaire d'événements VisibleChanged, notamment Width, Height, Visible et DockPosition. Si vous essayez de modifier ces propriétés, vous recevrez un COMException.

le spectacle/bouton de masquage ne change pas le texte

Il est de votre responsabilité de changer le texte sur le ruban en fonction des états du volet des tâches. L'interface utilisateur du ruban et les volets de tâches personnalisés ne sont pas connectés les uns aux autres. Pour effectuer le travail, vous devez utiliser la méthode IRibbonUI.Invalidate ou IRibbonUI.InvalidateControl qui permet d'invalider les valeurs en cache d'un ou de tous les contrôles de l'interface utilisateur du ruban.

Dans les rappels de ruban, vous devez renvoyer les valeurs appropriées en fonction de l'état du panneau de tâches.

En savoir plus sur l'interface utilisateur Fluent (alias interface utilisateur du ruban) dans les articles suivants: