2014-07-03 150 views
0

我有一個ItemsControl包含產品類別,我有另一個ItemsControl包含當前選擇的所有文章catégoie列表,我需要關聯當前選擇的與ItemsControl的文章WPF ItemsControl:更改ItemsControl ItemsControl從當前選擇的另一個ItemsControl

<ItemsControl ItemsSource="{Binding Path=Categories}"> 
... 
<ItemsControl.ItemTemplate> 
    <DataTemplate> 
      <Button Content="{Binding Path=CategorieCaption}"/> 
    </DataTemplate> 
</ItemsControl.ItemTemplate> 
... 
</ItemsControl> 


<ItemsControl ItemsSource="{Binding Path=SelectedCategories.Articles}"> 
... 
<ItemsControl.ItemTemplate> 
    <DataTemplate> 
      <Button Content="{Binding Path=ArticleCaption}"/> 
    </DataTemplate> 
</ItemsControl.ItemTemplate> 
... 
</ItemsControl> 
+0

你會如何選擇其實在一個ItemsControl項目?您應該也許應該使用ListBox。 – Clemens

回答

0

你只需要更新勢必Article收集每次Category改變你的數據綁定類。如果添加屬性將數據綁定與ListBox.SelectedItem,那麼你就可以做到這一點從屬性setter:

<ListBox ItemsSource="{Binding Categories}" 
    SelectedItem="{Binding SelectedCategory}" ... /> 

..

public Category SelectedCategory 
{ 
    get { return selectedCategory; } 
    set 
    { 
     if (selectedCategory != value) 
     { 
      selectedCategory = value; 
      NotifyPropertyChanged("SelectedCategory"); 
      // Selected Category was changed, so update Articles collection 
      Articles = UpdateArticlesByCategory(selectedCategory); 
     } 
    } 
} 
+1

除了ItemsControl中沒有'SelectedItem'屬性:-) – Clemens

+0

hi @ Sheridan,ItemsControl **不能**選擇項目,只能提供集合 –

+0

然後使用'ListBox'。 – Sheridan