2012-01-04 4 views
1

これは私がこのような区切り文字を使用して派生商品を作成するにはどうすればよいですか?

enter image description here

を実装する必要があるデザインは基本的に、これは縦棒で区切られたメニュー項目です。私は、PRISMと全体のバーを使用してい は基本的に私はそれが自動的に最後のものを除くすべての項目の後にバーを挿入するようにスタイルにItemsControlに(コードを記述せずに)それが可能だかしら

メニュー項目を注入ItemsControlです?

最後の垂直バーをスキップしたくない場合は、それほど大したことではありません。

重要!私は別のモジュール(PRISM)から挿入されたメニュー項目と、最後のものが決してわからないので、手動でセパレータを挿入することはできないので、この問題をコンテナレベルで解決する必要があります。

答えて

2

これは、ClipとRectangleGeometryを使用して行うことができます。データテンプレートの左側にパイプを挿入すると、四角形のクリップを設定して最初のパイプを切り取ります。ちょっとハッキリしていて、クリップの見た目を変えて見せてもらう必要があるかもしれませんが、実際のサンプルです:

<ItemsControl xmlns:sys="clr-namespace:System;assembly=mscorlib"> 
    <sys:String>No</sys:String> 
    <sys:String>Pipe</sys:String> 
    <sys:String>On</sys:String> 
    <sys:String>First</sys:String> 
    <sys:String>Item</sys:String> 
    <ItemsControl.Clip> 
     <RectangleGeometry Rect="5,0,1000,10000" /> 
    </ItemsControl.Clip> 
    <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Horizontal"></StackPanel> 
     </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <StackPanel Orientation="Horizontal"> 
       <TextBlock Text="|" /> 
       <TextBlock Text="{Binding}" /> 
      </StackPanel> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 
0

ItemsControlのItemsTemplateに垂直バーを指定できます。

+0

これはすべての項目に適用されます。そしてアイテム間にそれが必要です – katit

+0

テンプレートの右端(または左端)に貼ります。テリフが例を挙げました。 –

関連する問題