Xaml WindowsPhone8。全景控制人机工程学模糊性
我正在开发WindowsPhone8应用程序。一切都很好,但我发现有一件事我事先没有处理过——现在,全景控制行为让我感到困惑。 下面是我的应用程序中心页面(带有全景控件)的简化示例: 下一步是简化页面XAML:Xaml WindowsPhone8。全景控制人机工程学模糊性,xaml,windows-phone-8,panorama-control,Xaml,Windows Phone 8,Panorama Control,我正在开发WindowsPhone8应用程序。一切都很好,但我发现有一件事我事先没有处理过——现在,全景控制行为让我感到困惑。 下面是我的应用程序中心页面(带有全景控件)的简化示例: 下一步是简化页面XAML: <phone:Panorama> <i:Interaction.Behaviors> <b:PanoramaBehaviour/> </i:Interaction.Behavio
<phone:Panorama>
<i:Interaction.Behaviors>
<b:PanoramaBehaviour/>
</i:Interaction.Behaviors>
<phone:PanoramaItem Header="Panorama1">
<ScrollViewer>
<StackPanel>
<Button Height="72" Content="Button1" Click="Button_Click"/>
<Button Height="72" Content="Button2" Click="Button_Click"/>
<Button Height="72" Content="Button3" Click="Button_Click"/>
<Button Height="72" Content="Button4" Click="Button_Click"/>
<Button Height="72" Content="Button5" Click="Button_Click"/>
<Button Height="72" Content="Button6" Click="Button_Click"/>
<Button Height="72" Content="Button7" Click="Button_Click"/>
<Button Height="72" Content="Button8" Click="Button_Click"/>
<Button Height="72" Content="Button9" Click="Button_Click"/>
</StackPanel>
</ScrollViewer>
</phone:PanoramaItem>
<phone:PanoramaItem Header="Panorama2">
<Grid Background="Red" Tap="GridTap"/>
</phone:PanoramaItem>
</phone:Panorama>
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
<Button Content="Button1">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<i:InvokeCommandAction IsEnabled="True" Command="{Binding TestCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
所以问题是下一步-通常,当我尝试将全景从一个项目滑动到另一个项目时,我会单击第一个全景项目的一个按钮。所以我被导航到另一个应用程序页面。
有人能告诉我,如何防止这种全景控制行为
-----------------编辑:
EventToCommand解决方案对我不起作用。是的,一个解决方案也让我感到困扰,并且自WP7以来一直是一个问题。解决方案是在这种情况下使用
Tap
事件,而不是Click
事件,因为这不会以相同的方式提供错误激活<代码>点击可用于任何ui元素
,而不仅仅是按钮。完成!)
正如Paul Annetts所说,tap事件是以Click事件的另一种方式引发的。
因此,对于全景控制按钮,下一个解决方案是:
<phone:Panorama>
<i:Interaction.Behaviors>
<b:PanoramaBehaviour/>
</i:Interaction.Behaviors>
<phone:PanoramaItem Header="Panorama1">
<ScrollViewer>
<StackPanel>
<Button Height="72" Content="Button1" Click="Button_Click"/>
<Button Height="72" Content="Button2" Click="Button_Click"/>
<Button Height="72" Content="Button3" Click="Button_Click"/>
<Button Height="72" Content="Button4" Click="Button_Click"/>
<Button Height="72" Content="Button5" Click="Button_Click"/>
<Button Height="72" Content="Button6" Click="Button_Click"/>
<Button Height="72" Content="Button7" Click="Button_Click"/>
<Button Height="72" Content="Button8" Click="Button_Click"/>
<Button Height="72" Content="Button9" Click="Button_Click"/>
</StackPanel>
</ScrollViewer>
</phone:PanoramaItem>
<phone:PanoramaItem Header="Panorama2">
<Grid Background="Red" Tap="GridTap"/>
</phone:PanoramaItem>
</phone:Panorama>
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
<Button Content="Button1">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<i:InvokeCommandAction IsEnabled="True" Command="{Binding TestCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
xmlns:i=“clr命名空间:System.Windows.Interactivity;assembly=System.Windows.Interactivity”
Thx!我已经测试了你的设计。目前它正在工作,因此它s正确答案)