2011-12-17 28 views
0

Blend SDKのPathListBox(下の「XAML」を参照)を含むコントロールがあります。内側のアイテムの幅と高さは同じです。現在、アイテムの中点は、アークのパス(画像参照)に従います。つまり、は、明確に垂直に配置されています。しかし、私は項目を「上に」縦に並べてにして頂きたいので、その上端が円弧の軌跡をたどるようにします。どうやってやるの?PathListBoxのコンテンツの垂直方向の整列

enter image description here

<Grid x:Name="LayoutRoot"> 
    <ec:PathListBox Margin="160,290,-30,-250"> 
     <ec:PathListBox.LayoutPaths> 
      <ec:LayoutPath SourceElement="{Binding ElementName=arc}" 
       Padding="-25" FillBehavior="NoOverlap" 
       Distribution="Even" Span="0.5"/> 
     </ec:PathListBox.LayoutPaths> 
     <Rectangle Fill="#FFF4F4F5" Height="103" Width="100"/> 
     <Rectangle Fill="#FFF4F4F5" Height="120" Width="100"/> 
     <Rectangle Fill="#FFF4F4F5" Height="140" Width="100"/> 
     <Rectangle Fill="#FFF4F4F5" Height="265" Width="100"/> 
     <Rectangle Fill="#FFF4F4F5" Height="100" Width="100"/> 
     <Rectangle Fill="#FFF4F4F5" Height="265" Width="100"/> 
    </ec:PathListBox> 
    <ed:Arc x:Name="arc" 
     ArcThickness="10" ArcThicknessUnit="Pixel" Margin="160,290,-30,-250" 
     Stretch="None" Stroke="Transparent" StartAngle="-7" 
     RenderTransformOrigin="0.5,0.5" StrokeThickness="3" 
     Opacity="0.155" Fill="LightGray"> 
     <ed:Arc.RenderTransform> 
      <TransformGroup> 
       <ScaleTransform ScaleY="1" ScaleX="-1"/> 
       <SkewTransform AngleY="-17" AngleX="-16"/> 
       <RotateTransform Angle="0"/> 
       <TranslateTransform/> 
      </TransformGroup> 
     </ed:Arc.RenderTransform> 
    </ed:Arc> 
</Grid> 
+0

コントロールがBlend SDK(http://www.microsoft.com/design/toolbox/tutorials/pathlistbox/)の一部であることを含めるように質問を更新してください。余分なタグを使用すると回答者になる機会が増えますあなたの質問のために。 –

答えて

1

ちょうどあなたのrectsの余白を変更:

... 
<Rectangle Fill="Green" Height="103" Width="100" Margin="0,130,0,0"/> 
<Rectangle Fill="Green" Height="120" Width="100" Margin="0,120,0,0"/> 
<Rectangle Fill="Green" Height="140" Width="100" Margin="0,140,0,0"/> 
<Rectangle Fill="Green" Height="265" Width="100" Margin="0,265,0,0"/> 
<Rectangle Fill="Green" Height="100" Width="100" Margin="0,100,0,0"/> 
<Rectangle Fill="Green" Height="265" Width="100" Margin="0,265,0,0"/> 
... 

私はBlend4でそれを自分自身を試した後だとそれが動作します。

+0

あなたはどのバージョンのBlendを使用していますか? –

+0

それは素敵なトリックです、私は見てみましょう。実際には、項目は動的に生成される複雑なUI要素であり、その高さはコンテンツに依存します。私はちょうど長方形で質問を単純化しました。しかし、もし作品があれば、私は高さにマージンを設定することができました。 – user256890

+0

違いはありません。厚さが不変であるため、コンバーターを使用できます。 –

関連する問題