web-dev-qa-db-ja.com

WPFでクリック可能な画像を作成する

画像を表示し、クリックするとコマンドを呼び出すことができるユーザーコントロールを作成したいと思います。後で、これらのコントロールのリストを製品のリストにバインドしたいと思います。

19
mico

この非常に単純なアプローチを試してください

<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
        }
50
GibboK

さて、もう少しいじった後、単純なボタンが仕事をします。ここにあります:

<Button Command="{Binding Path=DisplayProductCommand}" >
   <Image Source="..\Images\my-beautiful-product.jpg"/>
</Button>
9
mico

これを行うにはいくつかの方法がありますが、簡単な解決策の1つは、ボタンを使用して(おそらく、境界線と背景をスタイリングして)、ボタンのコンテンツとして画像を使用することです。

後でListBoxなどを使用し、DataTemplateをオーバーライドして、各製品のボタンと画像を使用できます。

4
code-zoop
   <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
    }
3
Hong

皆さんのことはわかりませんが、PreviewMouseDownTouchUpは、私のバインディングとともに完全に正常に機能しました。

<Image x:Name="bla" Source="{Binding blabla}" ... TouchDown="bla_TouchDown" PreviewMouseDown="bla_PreviewMouseDown">

VS2015を使用しています

1
Khalil Khalaf