Событие MouseWheel в WindowsFormsHost - PullRequest
2 голосов
/ 21 марта 2012

У меня есть приложение WPF, которое использует элемент управления WindowsFormsHost для размещения элемента управления Windows.Forms.

Я пытался реализовать событие MouseWheel, но похоже, что событие MouseWheel не было запущено.

Есть ли решение этой проблемы?

Ответы [ 2 ]

5 голосов
/ 21 марта 2012

Обходной путь должен использовать событие MouseEnter.

Предположим, у вас есть ярлык winform в WindowsFormHost

В XAML

<WindowsFormsHost Height="100" Name="windowsFormsHost1" Width="200" />

In C #

System.Windows.Forms.Label label = new System.Windows.Forms.Label();
label.Text = "Hallo";`
label.MouseEnter += new EventHandler(label_MouseEnter);
label.MouseWheel += new System.Windows.Forms.MouseEventHandler(label_MouseWheel);
windowsFormsHost1.Child = label;

.....

void label_MouseEnter(object sender, EventArgs e)
{
    (sender as System.Windows.Forms.Label).Focus();
}

void label_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
    (sender as System.Windows.Forms.Label).BackColor = System.Drawing.Color.Red;
}

Теперь MouseWheel должен работать (метка должна изменить цвет)

0 голосов
/ 17 сентября 2012

одна вещь, которую я собираюсь добавить ... если дочерний элемент WindowsFormsHost является элементом Windows.Forms, эта ссылка помогает.

http://vastpark -svn.cvsdude.com / открытый / багажник / SRC / Sample.Client / WPFInputSource.cs

почему я пишу, я искал решение и нашел .. поэтому я подумал, что это может быть полезно кому-то в будущем. в любом случае, спасибо, что спросили здесь сначала ^^

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...