У меня есть Forms.DataVisualization.Charting.Chart в WindowsFormsHost. Я не могу заставить диаграмму получать события колесика мыши. Щелчки работают, если я попробую с Forms.TextBox, колесо мыши тоже будет работать. Колесо мыши также работает, если я использую диаграмму в «родном» приложении форм.
Итак, что создает проблему, так это комбинация диаграммы форм в formsHost.
Вот очень простое приложение для воспроизведения проблемы:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Name="TextBlock1" Grid.Column="1" />
<WindowsFormsHost Name="WindowsFormsHost1" Grid.Column="0"/>
</Grid>
и код позади:
public MainWindow()
{
InitializeComponent();
var chart = new Chart() { BackColor = System.Drawing.Color.Aquamarine};
WindowsFormsHost1.Child = chart;
chart.MouseDown += (a, b) => TextBlock1.Text += "FORMS click\r\n";
TextBlock1.MouseDown += (a, b) => TextBlock1.Text += "WPF click\r\n";
chart.MouseWheel += (a, b) => TextBlock1.Text += "FORMS wheel\r\n";
TextBlock1.MouseWheel += (a, b) => TextBlock1.Text += "WPF wheel\r\n";
}
Я могу получать все щелчки и колесо мыши из WPF, но не из форм. Я также безуспешно пробовал прослушивать колесо формHost.
Любые идеи? Джон Скит?
Any ideas? Jon Skeet?
Это должно быть повышено до статуса мема !!! - person Vector Sigma   schedule 17.12.2019