.net 自定义控件画布防止在scrollviewer中滚动-Windows运行时
我有一个ScrollViewer,其中包含一个StackPanel(垂直),其中包含我设计的一些非常广泛的自定义控件。ScrollViewer允许用户水平滚动自定义控件 当我为模拟器使用鼠标输入时,我会得到一个滚动条,这很好。当我为模拟器使用触摸输入时,我可以通过拖动自定义控件滚动,但只能在某些区域滚动。如果我尝试从自定义控件中的画布元素开始拖动,它将不起作用。但是,如果我从画布外部(在边距空间等)开始拖动触摸,它的工作方式与您预期的相同 画布中有一些操纵事件处理程序,用于自定义控件中的各种函数。是否有可能这些人窃取了输入,从而使ScrollViewer无法完成其工作?如果是这样的话,我能做些什么让他们向上报告ScrollViewer的输入?还是我在错误的地方调查 我可以按要求发布代码 编辑:.net 自定义控件画布防止在scrollviewer中滚动-Windows运行时,.net,c#-4.0,windows-runtime,custom-controls,.net,C# 4.0,Windows Runtime,Custom Controls,我有一个ScrollViewer,其中包含一个StackPanel(垂直),其中包含我设计的一些非常广泛的自定义控件。ScrollViewer允许用户水平滚动自定义控件 当我为模拟器使用鼠标输入时,我会得到一个滚动条,这很好。当我为模拟器使用触摸输入时,我可以通过拖动自定义控件滚动,但只能在某些区域滚动。如果我尝试从自定义控件中的画布元素开始拖动,它将不起作用。但是,如果我从画布外部(在边距空间等)开始拖动触摸,它的工作方式与您预期的相同 画布中有一些操纵事件处理程序,用于自定义控件中的各种函数
经过进一步的仔细调查,我发现了一些东西。我的wide控件内部有一些(其他)自定义控件和一组行。当我开始拖动一条线时,它会像预期的那样拖动。所有其他的空间都充满了第二个自定义控件(非常紧凑)。结果是我的自定义控件窃取了输入。我在第二个自定义控件中取消选中了主画布上的所有交互类型,并将操作设置为缩放而不是系统。将这些设置回默认设置,解决了问题。经过进一步调查,仔细点击,我发现了一些问题。我的wide控件内部有一些(其他)自定义控件和一组行。当我开始拖动一条线时,它会像预期的那样拖动。所有其他的空间都充满了第二个自定义控件(非常紧凑)。结果是我的自定义控件窃取了输入 重要部分: 我在第二个自定义控件中取消选中了主画布上的所有交互类型,并将操作设置为缩放而不是系统(这可能是窃取输入的部分)。将其设置回默认值,以解决问题
PS:我觉得自己很笨如果可能的话,在dropbox/skydrive上发布代码或上传项目。使用stackpanel和ScrollViewer并尝试滚动有时可能会有点问题-尝试用带有行的网格替换stackpanel,看看这是否解决了问题。当我遇到滚动的问题时,我已经修复了它。