在 WPF 中创建可点击的图像

发布于 2024-08-30 14:15:42 字数 55 浏览 6 评论 0原文

我想制作一个显示图像并可以在单击时调用命令的用户控件。 稍后我想将这些控件的列表绑定到产品列表。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

独夜无伴 2024-09-06 14:15:42

尝试这种非常直接的方法

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

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
        }
Smile简单爱 2024-09-06 14:15:42

好吧,经过一番摆弄,一个简单的按钮就可以完成这项工作。这里是:

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

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>
岁吢 2024-09-06 14:15:42
   <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
    }
   <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
    }
羁拥 2024-09-06 14:15:42

有多种方法可以做到这一点,但一种简单的解决方案是使用按钮(也许可以去掉边框和背景的样式),并使用图像作为按钮的内容。

您稍后可以使用 ListBox 或类似的内容,并覆盖 DataTemplate 以使用每个产品的按钮和图像。

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.

半城柳色半声笛 2024-09-06 14:15:42

我不知道你们怎么想,但是 PreviewMouseDownTouchUp 与我的绑定一起工作得很好:

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

我正在使用 VS 2015

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文