2009-03-27 15 views
4

私はWPFの学習を始めています.MLの単純なテーブルの機能を本質的に複製するために、ItemsControl内のGridViewRowPresenterを使用しようとしています。 ListViewは対話型であるため適切ではありません(私は望みません)。私は未知の量のオブジェクトの一般的なリストに拘束しています。ItemsControl内のWPF GridViewRowPresenter

私はFirstNameとLastNameという2つの文字列プロパティを持つカスタムオブジェクトのリストを持っています。次のコードは動作します:

<ItemsControl Name="myItemsControl"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding Path=FirstName}"/> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

を、これは何もレンダリングしない間:私はどこここから行くために、私は非常に任意のヘルプをお願い申し上げわからない

<ItemsControl Name="myItemsControl"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <GridViewRowPresenter> 
       <GridViewRowPresenter.Columns> 
        <GridViewColumnCollection> 
         <GridViewColumn DisplayMemberBinding="{Binding Path=FirstName}"></GridViewColumn> 
         <GridViewColumn DisplayMemberBinding="{Binding Path=LastName}"></GridViewColumn> 
        </GridViewColumnCollection> 
       </GridViewRowPresenter.Columns> 
      </GridViewRowPresenter> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

を!ありがとう!

答えて

10

あなたが項目の非対話型のグリッドをしたい場合は、共有のサイズの範囲を使用していますGridItemsControlを使用することができますが:

<ItemsControl ItemsSource="{Binding Items}" Grid.IsSharedSizeScope="True"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*" SharedSizeGroup="FirstName"/> 
        <ColumnDefinition Width="*" SharedSizeGroup="LastName"/> 
       </Grid.ColumnDefinitions> 

       <TextBlock Text="{Binding FirstName}"/> 
       <TextBlock Grid.Column="1" Text="{Binding LastName}"/> 
      </Grid> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

、より効率的なアプローチは働くあなた自身のPanelサブクラスを書くことであろうGrid(おそらくサブクラスGrid)でも同様ですが、必要に応じて自動的に行が追加されます。その後ItemsControlItemsPanelとしてPanelを使用します。

+0

私は関連する問題に直面しています、私はあなたが私を助けてくれることを望みます[見てください](http://stackoverflow.com/questions/4251183/wpf-two-dimentional-datagrid-listview "WPF Two-Dimentional -DataGrid/ListView ") – Shimmy

関連する問題