2011-04-20 3 views
3

と結合し、私はWPFに新たなんだ、これは今しばらくの間、私を困惑している以下のとおりです。人々は私のTabControlにバインドされている私のモデル内のオブジェクトのデータは、WPF

私はのObservableCollectionを持っています。だから、私の新しいPeopleオブジェクトが追加され、People.Titleをタブのヘッダとして新しいタブが作成されます。

各Peopleオブジェクトには、ObservableCollection of Friendオブジェクトがあります。タブの中に私は2つのテキストボックスのリストを持っています.1つはFriend.FirstName、もうひとつはFriend.LastNameです。

私の最初の要件が正常に動作しているが、2番目の1は私にエラーを与えている「のItemsSourceが既に使用されている」

ここに私のコードは、これまでのところです:

<TabControl Name="ConversationTabs" Grid.Row="0" 
       ItemsSource="{Binding}" 
       ItemTemplate="{StaticResource HeaderInfoTabControl}" 
       ContentTemplate="{StaticResource DialogueList}" /> 

<Window.Resources> 
    <DataTemplate x:Key="HeaderInfoTabControl"> 
     <TextBlock Text="{Binding Title}" /> 
    </DataTemplate> 

    <DataTemplate x:Key="DialogueList"> 
     <ItemsControl ItemsSource="{Binding Path=DialogueCollectionVM}"> 
      <StackPanel Orientation="Horizontal"> 
       <TextBlock Text="{Binding Path=Sent}" /> 
       <TextBlock Text="{Binding Path=DateSent}" /> 
       <TextBlock Text="{Binding Path=Message}" /> 
      </StackPanel> 
     </ItemsControl> 
    </DataTemplate> 

</Window.Resources> 

私はあなたの助けに感謝。

答えて

1

ItemsControlに項目を追加したり、ItemsSourceを使用して自動集計を同時に使用することはできません。それはStackPanelをのItemsSource内の項目に使用されるようになっている場合は、この作業を行う必要があります。

<ItemsControl ItemsSource="{Binding Path=DialogueCollectionVM}"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <StackPanel Orientation="Horizontal"> 
       <TextBlock Text="{Binding Path=Sent}" /> 
       <TextBlock Text="{Binding Path=DateSent}" /> 
       <TextBlock Text="{Binding Path=Message}" /> 
      </StackPanel> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 
+0

それを固定おかげで、! ただし、軽微な変更をしなければならなかった: Hari