2010-08-17 6 views
1
public class CustomEditor : Editor 
{ 
    protected override void Render(HtmlTextWriter writer) 
    { 
     Toolbar topToolbar = this.TopToolbar; 
     Collection<AjaxControlToolkit.HTMLEditor.ToolbarButton.CommonButton> buttons = topToolbar.Buttons; 

     foreach (AjaxControlToolkit.HTMLEditor.ToolbarButton.CommonButton button in buttons) 
     { 
      switch (button.GetType().Name) 
      { 
       case "Undo": 
        button.ToolTip = "Отменить ввод"; 
        break; 
       case "Redo": 
        button.ToolTip = "Повторить ввод"; 
        break; 
       // many others buttons 

       case "FixedForeColor": 
        button.ToolTip = "Цвет текста"; 
        break; 
       case "FixedBackColor": 
        button.ToolTip = "Цвет выделения текста"; 
        break; 
      } 
     } 
     base.Render(writer); 
    } 
} 

Almoust tout fonctionne très bien. Le problème est avec les boutons "FixedForeColor" et "FixedBackColor". Leurs infobulles ne sont pas modifiées (et toujours en anglais). y-a-t'il une solution?Problème avec la traduction des info-bulles dans HtmlEditor (AjaxControlToolkit)

+0

Si vous avez trouvé la solution, veuillez poster une réponse décrivant la solution, puis la marquer comme acceptée. – Timwi

Répondre

1

façon plus facile:

Vous pouvez gérer tous les boutons avec leur numéro d'index ci-dessous vous pouvez voir leur numéro d'index.

protected override void Render(HtmlTextWriter writer) 
{ 
    Toolbar topToolbar = this.TopToolbar; 
    Collection<AjaxControlToolkit.HTMLEditor.ToolbarButton.CommonButton> buttons = topToolbar.Buttons; 

    buttons[0].ToolTip = "My Lovely Undo"; 

    // Or you visible it 
    buttons[0].visible = false; 

    base.Render(writer); 
} 

/* List button index 
    [0]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Undo} 
    [1]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Redo} 
    [2]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [3]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Bold} 
    [4]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Italic} 
    [5]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Underline} 
    [6]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.StrikeThrough} 
    [7]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.SubScript} 
    [8]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.SuperScript} 
    [9]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [10]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Ltr} 
    [11]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Rtl} 
    [12]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [13]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.FixedForeColor} 
    [14]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.ForeColorSelector} 
    [15]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.ForeColorClear} 
    [16]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [17]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.FixedBackColor} 
    [18]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.BackColorSelector} 
    [19]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.BackColorClear} 
    [20]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [21]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.RemoveStyles} 
    [22]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [23]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.FontName} 
    [24]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [25]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.FontSize} 
    [26]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [27]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Cut} 
    [28]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Copy} 
    [29]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Paste} 
    [30]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.PasteText} 
    [31]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.PasteWord} 
    [32]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [33]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.DecreaseIndent} 
    [34]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.IncreaseIndent} 
    [35]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [36]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.Paragraph} 
    [37]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyLeft} 
    [38]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyCenter} 
    [39]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyRight} 
    [40]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.JustifyFull} 
    [41]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.RemoveAlignment} 
    [42]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [43]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.OrderedList} 
    [44]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.BulletedList} 
    [45]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.HorizontalSeparator} 
    [46]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.InsertHR} 
    [47]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.InsertLink} 
    [48]: {AjaxControlToolkit.HTMLEditor.ToolbarButton.RemoveLink} 
*/ 
1

Oh oui. J'ai trouvé la solution. C'est un peu fou (parce que je suis nouveau sur asp.net et je ne sais pas comment trouver les contrôles enfants correctement). Solution: le contrôle avec une info-bulle à afficher était beaucoup plus profond.

case "FixedForeColor": 
    ((AjaxControlToolkit.HTMLEditor.ToolbarButton.MethodButton)button.Controls[0].Controls[0].Controls[0].Controls[0]).ToolTip = "Цвет текста"; 
    break; 
case "FixedBackColor": 
    ((AjaxControlToolkit.HTMLEditor.ToolbarButton.MethodButton)button.Controls[0].Controls[0].Controls[0].Controls[0]).ToolTip = "Цвет выделения текста"; 
    break; 

Si quelqu'un sait comment le rendre plus facile, s'il vous plaît commenter.

Questions connexes