2016-10-20 3 views
1

WPF vous pouvezLineSegment.IsStroked manquant dans UWP

<Path Stroke="White" Fill="#50ffffff" StrokeThickness="2"> 
     <Path.Data> 
      <PathGeometry> 
       <PathFigure StartPoint="20,20"> 
        <LineSegment Point="100,20" /> 
        <LineSegment Point="100, 100" IsStroked="False"/> 
        <LineSegment Point="20, 100"/> 
        <LineSegment Point="20, 20"/> 
       </PathFigure> 
      </PathGeometry> 
     </Path.Data> 
    </Path> 

Pour obtenir

enter image description here

Malheureusement dans UWP il n'y a pas IsStroked propriété dans la classe LineSegment, est-il savoir solution de contournement pour ce cas?

Merci

+0

pourrait pas être atteint par un simple retrait du segment de droite? Tant qu'il n'y a qu'un seul intervalle et que 'IsClosed = false' cela devrait fonctionner (vous devrez réordonner les lignes bien sûr). –

Répondre

2

Pour contourner cette limitation, vous devriez être en mesure de décomposer le Path en plusieurs Paths, sauter les zones sans accident vasculaire cérébral. Dans l'exemple de code, vous pouvez même le conserver comme un seul Path en commençant dans le coin supérieur droit et en continuant dans le sens antihoraire, se terminant dans le coin inférieur droit.

Dans les scénarios plus complexes, avoir plusieurs Paths est un peu moins propre que dans WPF, mais il devrait être une solution fonctionnelle.

1

Tant qu'il n'y a qu'un seul écart, cela devrait fonctionner aussi:

<Path Stroke="White" Fill="#50ffffff" StrokeThickness="2"> 
    <Path.Data> 
     <PathGeometry> 
      <PathFigure StartPoint="100,20" IsClosed="False"> 
       <LineSegment Point="20,20"/> 
       <LineSegment Point="20,100"/> 
       <LineSegment Point="100,100"/> 
      </PathFigure> 
     </PathGeometry> 
    </Path.Data> 
</Path> 
+0

Je vois, le problème est que ma forme réelle est plus complexe que cet exemple –