| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > ToolTip ListBox |
| Автор: Bladerender 24.1.2011, 23:55 | ||
| В общем такая задача. Есть ListBox с текстом. Задался вопросом, как показывать свой ToolTip, когда я брожу мышкой по тексту в ListBox. При этом ToolTip должен менять свою позицию и текст. Подписался в ListBox на событие MouseMove() и пытаюсь там шаманить (в WinForms никогда проблем небыло)
собственно проблем 2. Второй и третий параметр неправильные. Точнее я не могу добыть из handle окно IWin32Window и не могу правильно достать point. Не то передаю. Что-то я или туплю или есть разительная разница WPF и WinForms в работе в таких ситуациях. |
| Автор: vikaz 25.1.2011, 06:58 |
| У меня сразу возникло несколько вопросов. 1. Почему Вы используете System.Windows.Forms.ToolTip. Ведь у WPF есть свой ToolTip? 2. Почему Вы создаете новый объект ToolTip в MouseMove ? Ведь при перемещении мыши будет создавать шлейф из объектов ToolTip, при этом Вы их нигде не прячите. |
| Автор: Rohoss 25.1.2011, 13:18 | ||||
Так можно сделать с кода
ToolTip, как говорил vikaz, нужно использовать из WPF. Но вы просто можете добавить в свойство ToolTip любой элемент управления WPF, если вас устраивает поведение тоолтипа по умолчанию, если же нет, то можно создать отдельно:
|
| Автор: Bladerender 25.1.2011, 23:55 |
| Я понимаю, что ToolTip можно подвязать к контролу. Но с обычной подвязкой проблема. Они когда хотят появляются. То появляются, то нет. Если мышку убрать с контрола и быстро вернуть обратно, то он уже не появится (зачастую). Вот потому я и хочу сделать его отображение вручную. Для того что бы List не путал ситуацию, пускай это будет обычный TextBox. Я никогда не буду выводить мышку за пределы этого TextBox. Как мне этот тулТип постоянно отображать в той позиции, где у меня сейчас мышка на этом TextBox? В System.Windows.Controls.ToolTip я вообще не нашел метод Show(); Шлейф из тултипов пускай не смущает. Как раз что-то типа шлейфа я и хочу сделать. Это уже мои заморочки. Мне хотя бы один показать, созданный мной и отображенный типа методом Show() в старом добром WinForms. |
| Автор: Bladerender 26.1.2011, 11:54 |
| Заменил PopUp. Намного удобнее с ним работать. |