WPFでクリック可能な画像を作成します
-
01-10-2019 - |
質問
画像を表示し、クリックするとコマンドを呼び出すことができるユーザーコントロールを作成したいと思います。後で、これらのコントロールのリストを製品のリストにバインドしたいと思います。
解決
この非常に簡単なアプローチを試してください
<Grid>
<Button Height="50" Width="50">
<Button.Template>
<ControlTemplate>
<Image Source="yourimage.png"/>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
private void Button_Click(object sender, RoutedEventArgs e)
{
// do smt
}
他のヒント
さて、もう少し気分を害すると、簡単なボタンが仕事をします。ここにあります:
<Button Command="{Binding Path=DisplayProductCommand}" >
<Image Source="..\Images\my-beautiful-product.jpg"/>
</Button>
これを行うにはいくつかの方法がありますが、1つの簡単なソリューションは、ボタンを使用して(境界と背景を覆うかもしれません)、ボタンの内容として画像を使用することです。
後でListBoxまたは同様のものを使用して、データセテンプレートをオーバーライドして、各製品のボタンと画像を使用できます。
<Image Name="imageFoo" Source="/AppFoo;component/Foo.png" Width="32" Cursor="Hand" MouseUp="imageFoo_MouseUp"/>
private void imageFoo_MouseUp(object sender, MouseButtonEventArgs e)
{
//Do something
}
私はあなたたちのことを知りませんが PreviewMouseDown
と TouchUp
私のバインディングと一緒に完全にうまく機能しました:
<Image x:Name="bla" Source="{Binding blabla}" ... TouchDown="bla_TouchDown" PreviewMouseDown="bla_PreviewMouseDown">
私は2015年と使用しています
所属していません StackOverflow