Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 7 火操作在WP7中手动启动_Windows Phone 7 - Fatal编程技术网

Windows phone 7 火操作在WP7中手动启动

Windows phone 7 火操作在WP7中手动启动,windows-phone-7,Windows Phone 7,我在WP7中有一个webscrollview,它最初没有焦点(内容是hittestVisible,因此去掉了ScrollViewer hittestvisibility)。当我将其内容的可见性设置为false时,我可以滚动scrollviewer,但只有在抬起手指并将其放回原处之后。我真的希望焦点转移,然后重新应用焦点,这样我可以在scrollview获得焦点后滑动,而不是等待下一个操纵开始事件触发。 这是我的密码: 在C#中: 受保护的覆盖无效TouchFrameDelta(对象发送方,

我在WP7中有一个webscrollview,它最初没有焦点(内容是hittestVisible,因此去掉了ScrollViewer hittestvisibility)。当我将其内容的可见性设置为false时,我可以滚动scrollviewer,但只有在抬起手指并将其放回原处之后。我真的希望焦点转移,然后重新应用焦点,这样我可以在scrollview获得焦点后滑动,而不是等待下一个操纵开始事件触发。 这是我的密码:


在C#中:

受保护的覆盖无效TouchFrameDelta(对象发送方,TouchFrameEventArgs e)
{
if(usermaniping==manipationState.manipationstopped)
{
用户操纵=操纵状态。操纵开始;
操纵起始点=e.GetPrimaryTouchPoint(null).Position;
}
//如果我们已经在操作scrollviewer,我们什么也不做
if(用户操纵!=操纵状态。操纵开始)
{
返回;
}
接触点接触点=e.GetPrimaryTouchPoint(空);
float differenceStart=(float)(touchPoint.Position.X-manufactionstartingpoint.X);
如果(数学绝对值(差异开始)>=25)
{
如果(浏览器列表显示)
{
BrowserListIshittesVisible=false;
Focus();
UpdateLayout();
返回;
}
float differenceDelta=(float)(touchPoint.Position.X-manufactionDeltaPoint.X);
if(touchPoint.Action==touchpaction.Up)
{                    
UserOperating=OperationState.ManiplatingScrollViewCompleted;
操作完成后(不同的ELTA);
}                          
}
操纵DeltaPoint=接触点位置;
}
TouchFrameDelta是Touch.FrameReported事件。 有人知道为什么这不起作用,以及如何修复它吗?
提前感谢

仅为您澄清,
操作启动
(并完成)不能手动触发,因为它们的事件参数是在没有任何公共构造函数的情况下密封的

你要求的不是我认为可能的事。由于您的子项最初不支持任何交互,因此即使在执行另一个事件之前设置了
ishitsetvisible
,事件也不会被冒泡到它


我看不出你到底想在这里归档什么,但我不建议在7.0/7.5中使用滚动和WebBrowser,因为控件的功能非常有限。

为了澄清,最终目标是拥有一个水平滚动面板,其中的内容是三个用户控件水平堆叠?如果是这样,默认的scrollviewer行为对此是否不起作用(将scrollviewer上的IshittesVisible设置回true)?问题是,当我设置IshittesVisible或任何其他用户输入布局更改时,会在用户释放并更换手指后得到处理。我想这与操纵启动事件有关。当浏览器声明hittestvisibility时,不会触发scrollviewer的操纵开始事件,只有在下一个操纵开始事件时,它才会捕获并处理此事件。所以,即使我水平滚动,更新布局,做各种奇怪的更新,浏览器仍然是hittestvisible的,直到我释放并重新应用Input,浏览器仍然是可见的,有可能提供您用于页面的实际xaml吗?这样我们就可以更准确地再现这个问题。