我有一个WPF应用程序,其中包含一些后台任务,可以在我的笔记本电脑上完美运行,但在使用Windows 7的平板电脑上运行效果不佳。
单击屏幕,在完成某些后台作业时显示加载图像,并在作业结束时显示包含某些信息的对话框。您按对话框上的按钮并返回主屏幕。
在显示对话框的最后一个平板电脑中,您必须按一次屏幕才能使GUI“激活”,然后再次向应用程序检测点击。就像ui线程在后台任务后被“禁用”并需要屏幕再次触摸才能激活。这非常烦人,因为用户必须多次按下按钮才能执行操作。此行为仅发生在平板电脑上,而不是笔记本电脑上......
以下是代码:
public void processTouch(Point p)
{
Task getPendingDocsTask = Task.Factory.StartNew(GetPendingDocs, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default);
Task afterGetPentingDocsTask = getPendingDocsTask.ContinueWith(w => AfterGetPendingDocs(), TaskScheduler.FromCurrentSynchronizationContext());
}
private void GetPendingDocs()
{
Thread.Sleep(500);
}
private void AfterGetPendingDocs()
{
mainprogresscircle.Visibility = System.Windows.Visibility.Hidden;
this.Background = (Brush)bc.ConvertFrom("#013857");
WindowDialog aDialog = new WindowDialog(this);
aDialog.ShowDialog();
}
在对话框中,点击时的功能是:
private void Button_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
对话框中按钮的XAML
<s:SurfaceButton
Margin="-4"
BorderBrush="Transparent"
BorderThickness="0"
Width="200"
Height="75"
HorizontalAlignment="Center"
Name="OpenButton"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
FontFamily="Tahoma"
FontSize="20"
Content="Aceptar"
Background="#78B41E"
Foreground="White"
Click="Button_Click"
IsManipulationEnabled="True"
/>
我也尝试过使用BackgroundWorker和调度程序,行为是一样的。在普通计算机上完美运行,但在Windows 7触摸设备上无法正常响应。
任何线索都会非常受欢迎。
提前致谢, 伊凡。