Windows Forms UserControl + Panel: WPF еквивалент

В Windows Forms създадох приложение за Twitter, което получава най-новите туитове от Timeline с помощта на TweetSharp. Използвал съм UserControl и Panel, за да ги покажа. Кодът, който използвах, за да направя това, изглежда така:

IEnumerable<TwitterStatus> tweets = service.ListTweetsOnHomeTimeline();

foreach (var tweet in tweets)
{
    TweetBox t = new TweetBox();

    t.username.Text = tweet.User.ScreenName; // Label
    t.display.ImageLocation = tweet.User.ProfileImageUrl; // PictureBox
    t.tweet.Text = tweet.Text; // Label
    t.info.Text = tweet.CreatedDate.ToString();
    t.Dock = DockStyle.Top;
    HomeTimeline.Controls.Add(t); // Add to HomeTimeline Panel
}

Сега правя отново това приложение в WPF. UserControl е в същия формат, но нямам представа как да добавя това към панела и да го закача в горната част - или еквивалент в WPF. Как да направя това?


person Rhys Towey    schedule 13.02.2012    source източник
comment
Разгледайте ItemsControl.   -  person Klaus Byskov Pedersen    schedule 13.02.2012
comment
Yuck, foreach-loop, разгледай свързване на данни и шаблон за данни.   -  person H.B.    schedule 13.02.2012


Отговори (1)


WinForms UserControl не е същото като WPF UserControl.

Ще трябва да направите UserControl отново в WPF.

Разбира се, можете да обвиете WinForms UserControl в елемент WindowsFormsHost, но това не е добра практика.

person AkselK    schedule 13.02.2012
comment
Потребителският контрол, който имам, е потребителски контрол на wpf - person Rhys Towey; 13.02.2012
comment
Сигурно сте го пренебрегнали. Както и да е, GUI в WPF се прави в XAML. (Въпреки че може да се направи в код-зад, това също не е добра практика) - person AkselK; 13.02.2012