Предположим есть квадратный UserControl, в нём нарисован кружок. Как добиться того чтобы при наведении курсора на этот кружок отправлялось событие мне?
Я задавал UserControl.Clip по форме кружка, но потом обратил внимание что и всё окружающее его содержимое контрола не отрисовывается.
Здравствуйте, Аноним, Вы писали:
А>Предположим есть квадратный UserControl, в нём нарисован кружок. Как добиться того чтобы при наведении курсора на этот кружок отправлялось событие мне?
А>Я задавал UserControl.Clip по форме кружка, но потом обратил внимание что и всё окружающее его содержимое контрола не отрисовывается.
Здравствуйте, Аноним, Вы писали:
А>Предположим есть квадратный UserControl, в нём нарисован кружок. Как добиться того чтобы при наведении курсора на этот кружок отправлялось событие мне?
А>Я задавал UserControl.Clip по форме кружка, но потом обратил внимание что и всё окружающее его содержимое контрола не отрисовывается.
Код в студию, тут не телепаты, знаете ли
Re[2]: WPF: задание области действия MouseEnter
От:
Аноним
Дата:
30.09.10 05:39
Оценка:
Здравствуйте, Codechanger, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
А>>Предположим есть квадратный UserControl, в нём нарисован кружок. Как добиться того чтобы при наведении курсора на этот кружок отправлялось событие мне?
А>>Я задавал UserControl.Clip по форме кружка, но потом обратил внимание что и всё окружающее его содержимое контрола не отрисовывается.
C>Код в студию, тут не телепаты, знаете ли
Кода-то..
class Canv : Canvas
{
public Point pt = new Point(30, 16);
protected override void OnRender(DrawingContext dc)
{
Pen p = new Pen() { Thickness = 1, Brush = Brushes.Beige };
dc.DrawEllipse(Brushes.Beige, p, pt, 2, 2);
// Clip = new EllipseGeometry(pt, 2, 2);
}
}
Может быть мне оверайдить OnPreviewMouseMove для этого?
Здравствуйте, Аноним, Вы писали:
А>Кода-то..
Код, конечно, доставляет: легкий Point выделен в поле класса, а вот Pen, унаследованный от Freezable, создается при каждом вызове OnRender...
Ну да ладно, чем не устраивает событие MouseEnter.
Re[4]: WPF: задание области действия MouseEnter
От:
Аноним
Дата:
30.09.10 06:41
Оценка:
Здравствуйте, MxMsk, Вы писали:
MM>Здравствуйте, Аноним, Вы писали:
А>>Кода-то.. MM>Код, конечно, доставляет: легкий Point выделен в поле класса, а вот Pen, унаследованный от Freezable, создается при каждом вызове OnRender... MM>Ну да ладно, чем не устраивает событие MouseEnter.
Мне надо чтобы MouseEnter всплывало только когда курсор попадает в кружок, а не в контрол вообще.
Здравствуйте, Аноним, Вы писали:
А>Мне надо чтобы MouseEnter всплывало только когда курсор попадает в кружок, а не в контрол вообще.
Приведенный код так и работает. Либо код не соответствует сабжу, либо одно из двух
Re[6]: WPF: задание области действия MouseEnter
От:
Аноним
Дата:
30.09.10 07:06
Оценка:
Здравствуйте, MxMsk, Вы писали:
MM>Здравствуйте, Аноним, Вы писали:
А>>Мне надо чтобы MouseEnter всплывало только когда курсор попадает в кружок, а не в контрол вообще. MM>Приведенный код так и работает. Либо код не соответствует сабжу, либо одно из двух
«Приккольно»..
Ок. Теперь усложняю задачу, у меня в контроле два кружка, хочу чтоб MouseEnter всплывало при попадании курсора только в кружок номер 1.
Здравствуйте, Аноним, Вы писали:
А>Ок. Теперь усложняю задачу, у меня в контроле два кружка, хочу чтоб MouseEnter всплывало при попадании курсора только в кружок номер 1.
Это что — викторина? Каков джекпот?
Здравствуйте, MxMsk, Вы писали:
MM>Здравствуйте, Аноним, Вы писали:
А>>Ок. Теперь усложняю задачу, у меня в контроле два кружка, хочу чтоб MouseEnter всплывало при попадании курсора только в кружок номер 1. MM>Это что — викторина? Каков джекпот?
Слющай, зачем мишаишь? Есть что сказать — скажи, а нет — нет.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, MxMsk, Вы писали:
MM>>Здравствуйте, Аноним, Вы писали:
А>>>Мне надо чтобы MouseEnter всплывало только когда курсор попадает в кружок, а не в контрол вообще. MM>>Приведенный код так и работает. Либо код не соответствует сабжу, либо одно из двух
А>«Приккольно»..
А>Ок. Теперь усложняю задачу, у меня в контроле два кружка, хочу чтоб MouseEnter всплывало при попадании курсора только в кружок номер 1.
обрабатывайте MouseEnter только от кружка номер 1
в чем проблема то?
Здравствуйте, Аноним, Вы писали:
А>Предположим есть квадратный UserControl, в нём нарисован кружок. Как добиться того чтобы при наведении курсора на этот кружок отправлялось событие мне?
А>Я задавал UserControl.Clip по форме кружка, но потом обратил внимание что и всё окружающее его содержимое контрола не отрисовывается.
Можно у UserControl'a переопределить функцию HitTestCore
Re[8]: WPF: задание области действия MouseEnter
От:
Аноним
Дата:
01.10.10 07:00
Оценка:
Здравствуйте, toulon, Вы писали:
T>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, MxMsk, Вы писали:
MM>>>Здравствуйте, Аноним, Вы писали:
А>>>>Мне надо чтобы MouseEnter всплывало только когда курсор попадает в кружок, а не в контрол вообще. MM>>>Приведенный код так и работает. Либо код не соответствует сабжу, либо одно из двух
А>>«Приккольно»..
А>>Ок. Теперь усложняю задачу, у меня в контроле два кружка, хочу чтоб MouseEnter всплывало при попадании курсора только в кружок номер 1.
T>обрабатывайте MouseEnter только от кружка номер 1 T>в чем проблема то?
Так я не знаю как.. То есть сейчас я нашел один способ — кружок1.AddHandler(UIElement.MouseEnterEvent,.., но с интересом выслушал бы про другие и про их различия.
А>Так я не знаю как.. То есть сейчас я нашел один способ — кружок1.AddHandler(UIElement.MouseEnterEvent,.., но с интересом выслушал бы про другие и про их различия.