2010-07-20 85 views
0

我正在使用Surface应用程序,并且遇到了多个按钮同时被按下的问题。如何在WPF中的按钮上禁用多点触控?

我有一个菜单控制几个按钮。其中一些绑定到命令,使托管窗口淡出菜单控件,并运行其他的东西,而一些只是连接到EventTriggers淡入菜单控件的不同视图状态。问题是,在Surface上,你甚至可以同时按下10个按钮,这会导致怪异效果,所以我想在无限期按下或直到淡入淡出动画完成并且可能阻止多个按钮时禁用控件上的所有按钮按钮进入按下状态。

任何整洁的想法,或者我应该手动处理所有触摸输入和状态机?

回答

2

如果您绑定到一个自定义命令,您可以通过

bool CanExecute 

控制这个返回

false 

使按钮不按能。没有命令的人必须按照传统方式处理。

+0

听起来很不错。我知道一个门徒应该最终帮助我...... :) 我会在未来的脑海中记下这一点。在这种情况下,我大部分命令绑定按钮,但我也有一个或两个按钮,只是在同一控件中触发淡入淡出动画。现在我只是使用不透明度动画来隐藏几乎看不见的滤镜网格后面的按钮。 它有一个背景=“#017F7F7F”和一个转换器,我用它来隐藏不透明度= 0的控件:可见性=“{Binding Opacity,RelativeSource = 它的工作原理 – 2010-07-26 03:57:27

+0

将在稍后发布的另一个问题中添加更多详细信息。 – 2010-07-26 03:59:05