2

私は、名前、ID、および時間の文字列で構成される、Peopleと呼ぶオブジェクトのコレクションを持っています。これらの人物は、固定数の行と9列に似たグリッドに表示する必要があります。アイデアは、人が列1、2、3のグリッドの左側に行として追加されるというものです。最後の行が入力されると、次の行が列グループ4、5、および6「ラッピング」効果。そのグループ化がいっぱいになった後、7、8、および9の最後のグループが使用されます。

これを行うために単一のDataGridを使用するか、3つの別々のDataGridを使用するかを決定しようとしています。データは数秒ごとに更新されるため、パフォーマンスが問題になります。ただし、私の主な関心事は、どちらのアプローチを実装するのがより簡単でクリーンになるかということです。この「ラッピング」機能を備えたサードパーティのグリッドコントロールはありますか?

これは、WPFを使用するC#アプリケーションです。

ありがとうございました。

4

1 に答える 1

1

私はいかなる種類のDataGridも使用せず、WrapPanelコンテンツプレゼンターと明確に定義されたItemsTemplateを備えたListViewのみを使用します。

開始するためのサンプルスタイルは次のとおりです。

<Style TargetType="{x:Type ListView}">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate>
          <ScrollViewer Margin="{TemplateBinding Padding}">
            <WrapPanel ItemWidth="150" IsItemsHost="True" MinWidth="100"
                       Width="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}">
            </WrapPanel>
          </ScrollViewer>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>
于 2012-04-30T20:34:00.000 に答える