2010-04-30 5 views
6

Sto utilizzando un separatore per tracciare una linea verticale all'interno di un bordo. All'inizio era ok perché la linea doveva essere centrata, ma ora ho bisogno di posizionarla in una posizione x personalizzata dal bordo sinistro. C'è un modo per farlo?Posizione separatore WPF

<Border x:Name="border" ClipToBounds="True" Background="White" BorderBrush="Black" BorderThickness="2"> 
    <Separator BorderBrush="Black" BorderThickness="2"> 
     <Separator.LayoutTransform> 
      <RotateTransform Angle="90" /> 
     </Separator.LayoutTransform> 
    </Separator> 
</Border> 

risposta

4

Non sono sicuro del modo corretto, se availble, ma se non si sta ridimensionando il confine, è possibile utilizzare un margine di come questo:

<Border x:Name="border" ClipToBounds="True" Background="White" BorderBrush="Black" BorderThickness="2"> 
      <Separator BorderBrush="Black" BorderThickness="2" Height="2" Margin="0,0,100,0"> 
       <Separator.LayoutTransform> 
        <RotateTransform Angle="90" /> 
       </Separator.LayoutTransform> 
      </Separator> 
     </Border> 
2

Il cambiamento più semplice che si può fare è solo per impostare il HorizontalAlignment e quindi utilizzare i margini per compensare il separatore (il valore predefinito è 0,2,0,2):

<Border x:Name="border" ClipToBounds="True" Background="White" BorderBrush="Black" BorderThickness="2"> 
    <Separator BorderBrush="Black" BorderThickness="2" HorizontalAlignment="Left" Margin="20,2,0,2" > 
     <Separator.LayoutTransform> 
      <RotateTransform Angle="90" /> 
     </Separator.LayoutTransform> 
    </Separator> 
</Border> 

ci sono un sacco di altri modi si potrebbe ottenere lo stesso effetto visivo se avete altri requisiti.