привязка массива коллекций к нескольким элементам управления соответственно - PullRequest
0 голосов
/ 07 марта 2012

у меня есть массив коллекций, каждая из которых привязана к элементу управления следующим образом:

     ItemsContropl_n.ItemsSource= Collection[n-1] ;   
    .
    ItemsControl_15.ItemsSource= Collection[14] ;
    ItemsControl_14.ItemsSource= Collection[13] ; 
    .
    .

есть ли способ определить источник элементов для каждого элемента управления относительно его экземпляра коллекции что-то вроде:

Элемент DataContext, контролирующий элементы, имеет свойство, которое предоставляет массив коллекций

  public Class Board 
  {
      public Coll [] Collections 
      {
         get { return collections;}
      }
  }


  CollectionPanel.DataContext = Board ;

  <ItemsControl x:Name="ItemsControl_i" itemsSource="{Binding Path=Coll[i-1]" />

Ответы [ 2 ]

3 голосов
/ 07 марта 2012

Да, но вы будете вынуждены использовать другого родителя ItemsControl ...

   <ItemsControl DataContext={Binding MyBoardInstance}
                 ItemsSource={Binding Collections}>
        <ItemsControl.ItemTemplate>
           <DataTemplate>   
             <ItemsControl ItemsSource={Binding}>
                 <ItemsControl.ItemTemplate>
                       <DataTemplate>
                           <!-- Your Template goes here -->
                       </DataTemplate>
                 </ItemsControl.ItemTemplate>
             </ItemsControl>
           </DataTemplate>
        </ItemsControl.ItemTemplate>
   </ItemsControl>

Надеюсь, это поможет ...

0 голосов
/ 07 марта 2012

Нет. Упростит ли это создание списка ваших ItemsControls, а затем просто выполнить связывание в коде, просматривая элементы ItemsControls и ваши коллекции? Еще может помочь, где ваши элементы управления в коллекции, если это доска стиля сетки.

for (int i=0; i<my_controls; i++)
    my_controls[i].ItemsSource = Collection[i];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...