将事件重新连接到 WPF 选项卡控件中的选定选项卡项



我开发了一个 WPF 应用程序,该应用程序在二维图表上绘制文件中的数据。用户可以使用鼠标进行缩放和平移。可以将多个绘图加载到 WPF 选项卡控件的不同选项卡中。绘图本身由 TabItem 中的网格保存。

每次我读取文件并生成相应的图表时,我也会将鼠标事件连接到保存图表的网格。

碰巧鼠标事件变为连接到上次加载的图表,当我选择返回任何其他 TabItem 时,我无法控制(缩放/平移)它。

我没有找到将鼠标事件重新连接到我切换回的 TabItem 中的网格的方法。

我将不胜感激任何提示。

莫蒂

也许您可以将处理程序连接到网格的 MouseEnter 事件。之后,您可以挂接鼠标事件。

创建网格时:

grid.MouseEnter="Grid_MouseEnter"

鼠标输入处理程序:

private void Grid_MouseEnter(object sender, MouseEventArgs e)
{
    var grid = sender as Grid;
    if (grid == null)
        return;
    grid.MouseWheel += a1_MouseWheel;
}

鼠标滚轮处理程序

private void a1_MouseWheel(object sender, MouseWheelEventArgs e)
{
    var grid = sender as Grid;
    System.Diagnostics.Debug.WriteLine(grid.Name + " " + e.Delta);
}

我猜你从网格的鼠标事件中删除处理程序!?

相关内容

  • 没有找到相关文章