2011-11-10 14 views
0

できるだけ多くのコントロールを「リストボックスの1行」に収める必要があります。目標はフォーム上のスペースを無駄にすることではありません。リストボックスは、フォームの70%の高さ(30%がリボン)と100%の幅になります。リストボックス項目の複数のコントロール

リストになりますコントロールは、の組み合わせのいずれかとなりますので、私はカスタムItemTempleSelectorを使用

:これらは1の下に表示されます。もちろん、

ラベル+テキストボックス、ラベル+コンボボックス、ラベル+のDateTimePicker

もう1つは、私はそれらを左から右に表示する必要があります。 多くのありがとうございます。

答えて

4

ListBoxItemsPanelにはWrapPanelが含まれている必要があります。あなたのアイテムは左から右に表示され、次の行に折り返されます(私はそれがあなたが望むものだと思います)。また、リストボックスの水平スクロールバーを無効にする必要があります。

<ListBox ItemsSource="{Binding}" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
     <ListBox.ItemsPanel> 
      <ItemsPanelTemplate> 
       <WrapPanel /> 
      </ItemsPanelTemplate> 
     </ListBox.ItemsPanel> 
     ...your other stuff like the ItemTemplate 
    </ListBox> 

うとしているあなたはListBoxを使用していると考えるために、他の事、あなたは彼らがそれぞれの項目を選択できるようにしたいので? そうでない場合、ItemsControlは軽量であり、アイテムの選択をサポートしない1つの交換用のものになります。

+0

治療を受けました。どうもありがとう! – MaxWillmo

0

多分私はこの質問を理解していないかもしれませんが、コントロールをすべてWrappanelに入れないと、データ型のルートコントロールになります。

+0

説明するのが最も簡単な状況ではありません。リストにはitemsourceがあり、それは私のカスタムカスタムオブジェクトのリストになります。このオブジェクトは列挙を持っていますリストボックスのコントロールがorignallyに記述されたコントロールの1であるべきであるかどうか決定します。リストボックスにバインドされている実際のリストは、リボンのチェックボタンで変化するため、頻繁に変更できます。 – MaxWillmo

関連する問題