Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > изменить шаблон ToolTip-а


Автор: Andrey44 27.5.2010, 08:49
В общем у меня есть несколько шаблонов для ToolTipa и я хочу менять их. 
В коде делаю так
Код

public void SetToolTipTemplate(Object obj, string templateName)
        {
            if (obj is FrameworkElement)
            {
                FrameworkElement fe = (FrameworkElement)obj;
                ToolTip tt = new ToolTip();
                if (fe.ToolTip != null)
                {
                    if (obj is System.Windows.Controls.Control)
                    {
                        tt.Content = fe.ToolTip;
                        tt.Template = this.FindResource(templateName) as ControlTemplate;//вот тут  'ToolTip' cannot have a logical or visual parent.
                        fe.ToolTip = null;
                        fe.ToolTip = tt;
                    }
                }

                // recurse through the children
                IEnumerable children = LogicalTreeHelper.GetChildren(fe);
                foreach (object child in children)
                {
                    SetToolTipTemplate(child, templateName);
                }
            }
        }

SetToolTipTemplate(this, "ToolTip1");


Первый раз это срабатывает ,но если я хочу изменить второй раз, все валится.
Как исправить?

Автор: SergeyLoginov 27.5.2010, 15:36
Резонный вопрос: как валится?

Автор: Andrey44 27.5.2010, 15:38
Уже писал 

An unhandled exception of type 'System.InvalidOperationException' occurred in PresentationFramework.dll

Additional information: 'ToolTip' cannot have a logical or visual parent.


Добавлено через 1 минуту и 1 секунду
Может я что-то не так делаю?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)