Проблем с превод на подсказки в HtmlEditor (AjaxControlToolkit)

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);
    }
}

Почти всичко работи добре. Проблемът е с бутоните "FixedForeColor" и "FixedBackColor". Подсказките им не са променени (и все още са на английски). Има ли някакво решение?


person Vitali Olshevski    schedule 17.08.2010    source източник
comment
Ако сте намерили решението, моля, публикувайте отговор, описващ решението, и след това го маркирайте като прието.   -  person Timwi    schedule 18.08.2010


Отговори (2)


по-лесен начин:

Можете да управлявате всички бутони с техния индексен номер. По-долу можете да видите техния индексен номер.

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}
*/
person Erdogan    schedule 16.05.2011

О да. Намерих решението. Това е малко лудо (защото съм нов в asp.net и не знам как да намеря правилно детски контроли).

Решение: контролата с подсказка за показване беше много по-дълбока.

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;

Ако някой знае как да го направи по-лесно, моля да коментира.

person Vitali Olshevski    schedule 18.08.2010