有没有办法在XAML上做图像映射
本文关键字:图像 映射 XAML 有没有 | 更新日期: 2023-09-27 17:54:11
我想用c#和XAML创建一个Windows 8应用程序。
我想有一个图像,它的不同部分是可点击的,同样的方式,你可以与imagemap元素在HTML中。
可能有一种方法可以对单个图像进行此操作,但很难正确定位它们。
所以有可能使图像在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>
你当然可以添加事件来跟踪MouseDown和MouseUp事件,并将这些事件转换为你自己的Click事件…但这在WPF中听起来不太对,当然也有例外。如果您正在制作一个安全系统,该系统依赖于带有用户定义的点击图像模式的可定制图像——当然可以。但是,如果你在Photoshop中绘制用户界面,并且想让它工作-你做错了:你失去了样式,矢量渲染,特定于控件的事件-基本上是WPF的整个思想。
底线:除非你指定了一个任务来证明使用图像是合理的,否则答案只能是:不要这样做。