2

背景

我是 Windows Phone 8 的菜鸟。我过去学习过 WPF 和 Silverlight,但那是很久以前的事了。

在 Windows phone 8 上,我有一个可点击的图像控件,我希望它的内容(图片本身)具有圆角。

问题

如何为控件设置圆角?

另外,我可能会考虑使用 Button 控件,以便我可以自定义单击(或触摸)它时发生的情况。单击后,我希望具有圆角的区域以某种颜色着色,表明它确实被单击/触摸。我怎么做?


编辑:

感谢@Depechie,我找到了这个解决方案

<Grid>
    <Border Height="200" Width="250" CornerRadius="0,0,50,50">
        <Border.Background>
            <ImageBrush ImageSource="Images/Desert.jpg" />
        </Border.Background>
    </Border>
</Grid>

但是,我有两个问题:

  1. 我仍然找不到如何让它在你触摸它时被点击,这样圆角就会有黄色背景。

  2. 处理点击事件时,我无法通过代码获取 imageSource 和转换器(及其参数)。以前,我使用过:

    图片缩略图图片 =(图片)发件人;var bindingExpression = thumbnailImage.GetBindingExpression(Image.SourceProperty); string selectedItem = (string)bindingExpression.DataItem; string selectedThumbnailIndex = (string) bindingExpression.ParentBinding。转换器参数;

    也许我可以以编程方式而不是 Xaml 创建项目?如果是这样,如何(项目在网格中,顺便说一句)?

我现在能做什么?

4

5 回答 5

4

使用 Rect 试试这个

<Image VerticalAlignment="Center" 
                       HorizontalAlignment="Center" 
                       Stretch="None" 
                       Source="Jellyfish.jpg">
                    <Image.Clip>
                        <RectangleGeometry RadiusX="5"
                                           RadiusY="5"
                                           Rect="0,0,150,113"/>
                    </Image.Clip>
                </Image>

这是另一个链接 https://msdn.microsoft.com/en-us/library/ms750631(v=vs.110).aspx

于 2016-09-03T21:47:15.850 回答
2

这里列出了一个类似的问题...... 也许这些也可以帮助你?

如果您想错觉图像是可点击的控件,请查看Phone 工具包中提供的TiltEffect

于 2013-02-11T10:31:35.103 回答
0

与其尝试改变控件的形状(在查看 VS 和 Blend 之后,我认为这是不可能的),为什么不简单地创建带有圆边的图像,然后将按钮边框和背景设置为无颜色?

于 2013-02-09T00:55:31.383 回答
0

对于圆角,您可以将 RadiusX 和 RadiusY 值设置为非零数字以在矩形中实现该效果。所以我想如果你想保留按钮控制,你可以在矩形内嵌入一个按钮。

于 2013-02-09T00:56:25.403 回答
0
<Image  Width="25" Height="25"  VerticalAlignment="Center" 
                       HorizontalAlignment="Center" 
                       Stretch="Fill" 
                        >
                                                        <Image.Clip>
                                                            <RectangleGeometry RadiusX="12.5"
                                           RadiusY="12.5"
                                           Rect="0,0,25,25"/>
                                                        </Image.Clip>
                                                    </Image>

拐角半径应为宽度或高度的一半。

于 2021-03-09T09:06:59.503 回答