XAML EllipseGeometry元素绑定图像元素

trnvg8h3  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(147)

"我想显示一个圆形图像"
首先我写了这个代码:

<Image
            Width="50"
            Height="50"
            Source="111.png"
            Stretch="Fill">
            <Image.Clip>
                <EllipseGeometry
                    Center="25,25"
                    RadiusX="25"
                    RadiusY="25" />
            </Image.Clip>
        </Image>

然后我试着在image和ellipseGeometry之间绑定一个值,这样我需要像下面的代码一样为Image设置一个名称

<Image
            x:Name="img"
            Width="50"
            Height="50"
            Margin="163,178,579,191"
            Source="111.png"
            Stretch="Fill">
            <Image.Clip>
                <EllipseGeometry
                    Center="25,25"
                    RadiusX="{Binding Width, ElementName=img, Converter={StaticResource tohalfConverter}}"
                    RadiusY="{Binding Height, ElementName=img, Converter={StaticResource tohalfConverter}}" />
            </Image.Clip>
        </Image>

**现在是我的问题:**如果我没有设置一个名称为图像,如何绑定图像和椭圆几何之间的值?我尝试使用FindAncestor,但它失败了。

nr9pn0ug

nr9pn0ug1#

最好使用ImageBrush填充椭圆。
ImageBrush会根据其Stretch属性的值自动填满Ellipse区域。

<Ellipse Width="50" Height="50">
    <Ellipse.Fill>
        <ImageBrush ImageSource="111.png" Stretch="UniformToFill"/>
    </Ellipse.Fill>
</Ellipse>

相关问题