Добре, така че се опитах да внедря coverflow, намерен на codeplex http://silverlightcoverflow.codeplex.com/
Исках да използвам собствения си клас за обвързване на данни:
class CoverItem
{
BitmapImage _image;
string _title;
string _link;
string _content;
public BitmapImage Image
{
get { return _image; }
set { _image = value; }
}
public string Title
{
get { return _title; }
set { _title = value; }
}
public string Link
{
get { return _link; }
set { _link = value; }
}
public string Content
{
get { return _content; }
set { _content = value; }
}
}
Това е XAML за Cover User Control от codeplex:
<custom:CoverFlowControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<Image Source="{Binding Image}" Width="300" />
<TextBlock Text="{Binding Title}" Width="300" />
<TextBlock Text="Testing" Width="300" />
</StackPanel>
</DataTemplate>
</custom:CoverFlowControl.ItemTemplate>
Проблемът, който имам, е, че получавам думата „Тестване“ за всеки елемент, който е обвързан, но не получавам изображение или заглавие, които са от моите обекти, прикачени към свойството ItemSource на контролата.
Covers.ItemsSource = _items;
Въпросът ми е къде бъркам? Това трябва да е просто обвързване, така че мисля, че пропускам нещо.
Благодаря предварително за помощта.
РЕДАКТИРАНЕ:
Ако променя кода на този:
List<BitmapImage> images = new List<BitmapImage>() { _items[0].Image, _items[1].Image, _items[2].Image, _items[3].Image };
Covers.ItemsSource = images;// _items;
И след това имайте обвързването като това:
<Image Source="{Binding}" Width="300" />
Сега показвам изображенията си. Така че знам, че има проблем с обвързването някъде.
Също така са опитвали
<Image Source="{Binding Path=Image}" Width="300" />