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

В Windows Forms я создал приложение Twitter, которое получает последние твиты из временной шкалы с помощью 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, взгляните на привязку данных и шаблоны данных.   -  person H.B.    schedule 13.02.2012


Ответы (1)


Пользовательский элемент управления WinForms отличается от пользовательского элемента управления WPF.

Вам придется снова создать UserControl в WPF.

Конечно, вы можете обернуть WinForms UserControl в элемент WindowsFormsHost, но это не очень хорошая практика.

person AkselK    schedule 13.02.2012
comment
Пользовательский элемент управления, который у меня есть, представляет собой пользовательский элемент управления wpf. - person Rhys Towey; 13.02.2012
comment
Должно быть, упустил это из виду. Во всяком случае, графический интерфейс в WPF выполняется в XAML. (Хотя это можно сделать в коде программной части, это тоже не очень хорошая практика) - person AkselK; 13.02.2012