【发布时间】:2014-04-09 02:39:36
【问题描述】:
我有一个带有Tapped 事件处理程序的方块。正方形内部(顶部)是另一个带有Flyout 的按钮。当我单击按钮打开Flyout 时,该事件也会为正方形触发。
如果点击了Flyout,我怎样才能使它不会在广场上触发事件?
如何取消通过Command 发生的Handled = true 和RoutedEvent?
这里是 XAML
<Grid Margin="0, 0, 50, 50" Width="300">
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Tapped">
<core:InvokeCommandAction Command="{Binding DataContext.MyTapCommand, ElementName=LayoutRoot}" CommandParameter="{Binding}" />
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
<Image Source="{Binding MyImagePath}" Width="300" />
<Border Background="#aa000000" HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
<TextBlock Text="{Binding Title}" Margin="5" FontSize="18" TextWrapping="Wrap" />
</Border>
<Button VerticalAlignment="Top" HorizontalAlignment="Right">
<Button.Template>
<ControlTemplate>
<Grid>
<Canvas Height="50" Width="50">
<Polygon Points="0,0 50,0 50,50 0,0" Fill="Gray" />
<TextBlock Text="+" FontSize="40" Canvas.Top="-16" Canvas.Left="22" Padding="0" />
</Canvas>
</Grid>
</ControlTemplate>
</Button.Template>
<Button.Flyout>
<MenuFlyout>
<MenuFlyoutItem Text="Item 1" Command="{Binding DataContext.Item1Command, ElementName=LayoutRoot}" CommandParameter="{Binding}" />
<MenuFlyoutItem Text="Item 2" Command="{Binding DataContext.Item2Command, ElementName=LayoutRoot}" CommandParameter="{Binding}" />
</MenuFlyout>
</Button.Flyout>
</Button>
</Grid>
所以有一个图像是整个项目。您可以单击图像并触发命令。图像顶部有一个按钮。如果单击按钮,我不希望触发 Tapped 事件。
【问题讨论】:
-
你能把你的 xaml 代码粘贴到这里吗?
标签: xaml winrt-xaml