Creating a clickable image in WPF

前端 未结 5 1758
醉话见心
醉话见心 2020-12-24 09:05

I want to make a user control that shows an image and can invoke a command when clicked. Later I want to bind a list of these controls to a list of products.

相关标签:
5条回答
  • 2020-12-24 09:24

    I don't know about you guys but PreviewMouseDown and TouchUp worked completely fine along with my binding:

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

    I am using VS 2015

    0 讨论(0)
  • 2020-12-24 09:25

    Well, after a little more fiddling, a simple button does the job. Here it is:

    <Button Command="{Binding Path=DisplayProductCommand}" >
       <Image Source="..\Images\my-beautiful-product.jpg"/>
    </Button>
    
    0 讨论(0)
  • 2020-12-24 09:33

    Try this very straight forward approach

    <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
            }
    
    0 讨论(0)
  • 2020-12-24 09:40

    There are several ways to do this, but one simple solution would be to use a button (maybe style away the border and background), and use the image as the content of the button.

    You can later use a ListBox or similar, and override the DataTemplate to use the button and an image for each product.

    0 讨论(0)
  • 2020-12-24 09:47
       <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
        }
    
    0 讨论(0)
提交回复
热议问题