似乎 WPF矩形形状没有定义 Click 事件。我应该改用什么?
它确实有 MouseUp,但它的行为并不完全相同。
MouseDown
如果您对and不满意MouseUp
,也许您可以将Rectangle
a放入Button
并处理Button
'Click
事件?
<Button>
<Button.Template>
<ControlTemplate>
<Rectangle .../>
</ControlTemplate>
</Button.Template>
</Button>
这真的取决于你所追求的行为。如果需要,请详细说明。
要将点击处理添加到 Rectangle 本身,您可以使用InputBindings属性:
<Rectangle Fill="Blue" Stroke="Black">
<Rectangle.InputBindings>
<MouseBinding Gesture="LeftClick" Command="{Binding FooCommand}"/>
</Rectangle.InputBindings>
</Rectangle>
这将导致在单击矩形时执行 FooCommand。如果您使用的是 MVVM,则非常方便!
我一直在寻找相关的 DoubleClick 事件,并遇到了将感兴趣的对象简单地嵌入 ContentControl 的建议。
这是他们的示例(带有边框,也不支持单击/双击)。
<ContentControl MouseDoubleClick="OnDoubleClick">
<Border Margin="10" BorderBrush="Black" BorderThickness="2">
<Grid Margin="4">
<Rectangle Fill="Red" />
<TextBlock Text="Hello" FontSize="15" />
</Grid>
</Border>
</ContentControl>
Rectangle 有事件Tapped,效果很好。在为 Windows 8.1 设计通用应用程序时,有一些新事件。Tapped、DoubleTaped、RightTapped 和保持。