我想使用C#和XAML创建Windows 8应用程序。
我想让一个图像的不同部分可以点击,就像使用HTML中的imagemap元素一样。
可能有一种方法可以对单个图像进行此操作,但要正确定位它们将非常困难。
那么可以在XAML中点击图像吗?
答案 0 :(得分:2)
您肯定可以添加事件来跟踪MouseDown和MouseUp事件,并将它们转换为您自己的Click事件......但这在WPF中听起来不对,显然有例外。如果您正在制作一个依赖于可自定义图像的安全系统,并使用用户定义的图片来点击图像 - 当然。但是,如果你在Photoshop中绘制用户界面并想要做到这一点 - 你做错了:你失去了样式,矢量渲染,特定于控件的事件 - 基本上是WPF的整个想法。
底线:除非你指定一个证明使用图像的任务,否则答案只能是:不要这样做。
答案 1 :(得分:2)
仅仅是xaml的简单概念示例......
添加名称空间;)
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
<Grid Height="300" Width="300">
<Grid.Background>
<Image/> <!-- Add your image source here,
you dont want to know the picture I was going to put :) -->
</Grid.Background>
<Rectangle Height="20" Width="20" Stroke="Red" StrokeThickness="2" Margin="60,120">
<i:Interaction.Triggers>
<!-- Couldn't recall if its "Click" event or "MouseLeftButtonDown" -->
<i:EventTrigger EventName="MouseLeftButtonDown">
<ei:ChangePropertyAction TargetName="Blah"
PropertyName="Visibility"
Value="Visible" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Rectangle>
<TextBlock Text="Whoa Dude, Where's my click?" x:Name="Blah" FontSize="50" Visibility="Collapsed"/>
</Grid>