Решил мою проблему.
Решением было использование конвертеров как части свойства Grid.Clip
. Я использовал код со следующего сайта.
http://blogorama.nerdworks.in/entry-CenteringelementsonacanvasinWP.aspx
Проблема, с которой я столкнулся, заключалась в том, чтобы использовать EllipseGeometry
вместо Ellipse
.
Ellipse
использует height
и width
, а EllipseGeometry
использует radiusx,y
и center
.
С Ellipse
я мог бы просто установить высоту и ширину для высоты изображения, чтобы получить нужный клип.
Было бы намного проще, если бы выражения работали с привязкой, т.е. {Binding Path=expr}
<Grid>
<Grid.Clip>
<EllipseGeometry>
<EllipseGeometry.RadiusX>
<MultiBinding
Converter="{StaticResource HalfValue1}">
<Binding
ElementName="vemap"
Path="ActualHeight" />
</MultiBinding>
</EllipseGeometry.RadiusX>
<EllipseGeometry.RadiusY>
<MultiBinding
Converter="{StaticResource HalfValue1}">
<Binding
ElementName="vemap"
Path="ActualHeight" />
</MultiBinding>
</EllipseGeometry.RadiusY>
<EllipseGeometry.Center>
<MultiBinding
Converter="{StaticResource HalfValue}">
<Binding
ElementName="vemap"
Path="ActualHeight" />
<Binding
ElementName="vemap"
Path="ActualWidth" />
</MultiBinding>
</EllipseGeometry.Center>
</EllipseGeometry>
</Grid.Clip>
<Image>
</Grid>