2010-05-27 6 views

Répondre

3

J'ai résolu mon problème.

La solution consistait à utiliser des convertisseurs dans le cadre de la propriété Grid.Clip. J'ai utilisé le code du site suivant.

http://blogorama.nerdworks.in/entry-CenteringelementsonacanvasinWP.aspx

Le défi que je rencontrais était d'avoir à utiliser le EllipseGeometry au lieu de simplement Ellipse.

Ellipse utilise height et width tandis que EllipseGeometry utilise radiusx,y et center.

Avec Ellipse J'aurais pu simplement régler la hauteur et la largeur à la hauteur de l'image pour obtenir le clip dont j'avais besoin.

Serait beaucoup plus simple si les expressions travaillées avec contraignant ie. {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> 
+0

S'il vous plaît ignorer les MultiBindings avec une seule liaison étant passé. Je fixerai plus tard. – vaughan

Questions connexes