1

C#とXAMLを使用してWindows8アプリケーションを作成したいと思います。

HTMLのimagemap要素でできるのと同じように、クリック可能な画像のさまざまな部分が必要です。

個々の画像でこれを行う方法があるかもしれませんが、それらを正しく配置することは非常に困難です。

では、XAMLで画像をクリック可能にすることは可能ですか?

4

2 に答える 2

2

確かに、MouseDownイベントとMouseUpイベントを追跡し、それらを独自のClickイベントに変換するイベントを追加できます...しかし、明らかに例外を除いて、WPFでは正しく聞こえません。画像をクリックするためにユーザー定義のパターンを使用してカスタマイズ可能な画像に依存するセキュリティシステムを作成している場合は、確かに。しかし、Photoshopでユーザーインターフェイスを描画していて、それを機能させたい場合は、間違っています。スタイル、ベクターレンダリング、コントロール固有のイベントが失われます。基本的に、WPFの全体像です。

結論:画像の使用を正当化するタスクを指定しない限り、答えは次のようになります。実行しないでください。

于 2013-01-18T17:17:45.877 に答える
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>
于 2013-01-18T17:36:05.533 に答える