Есть ли способ заполнить набор инструментов Silverlight WrapPanel
путем привязки к ObservableCollection
? Все примеры, которые я видел до сих пор, включая сам пример инструментария, либо заполняют WrapPanel
программно, либо явно добавляя каждый элемент в XAML.
Спасибо за вашу помощь!
EDIT : следуя совету Гирта ван Хоррика Я пытался использовать ItemsControl
для загрузки WrapPanel
через связывание Это XAML:
<ScrollViewer VerticalScrollBarVisibility="Auto"
Height="440"
Margin="0,12,0,0">
<ItemsControl ItemsSource="{Binding SelectionContent}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderThickness="1"
CornerRadius="4"
BorderBrush="{Binding BorderBrush}">
<toolkit:GestureService.GestureListener>
<toolkit:GestureListener Tap="OnWrapPanelTapped"
DoubleTap="OnWrapPanelDoubleTapped" />
</toolkit:GestureService.GestureListener>
<Image Source="{Binding ImageSource}"
MaxHeight="48"
MaxWidth="48"
Margin="16" />
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</ScrollViewer>
SelectionContent
- это ObservableCollection
, присутствующий в этом коде UserControl
. Он состоит из объекта SelectionItem
, который реализует INotifyPropertyChanged
и предоставляет 2 открытых свойства - ImageSource
и BorderBrush
.
Я устанавливаю DataContext
для UserControl
в его конструкторе на SelectionContent
. Но это не работает, и WrapPanel
ничего не отображает.