2012-02-13 32 views
2

在Windows窗體中,我創建了一個Twitter應用程序,它使用TweetSharp從時間軸中獲取最新的推文。我用UserControlPanel來顯示這些。我用這樣做的代碼如下所示:Windows窗體UserControl + Panel:WPF Equivalent

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中重新制作此應用程序。用戶控件的格式相同,但我無法如何將其添加到面板並將其停靠在頂部或WPF中的等效項。我該怎麼做呢?

+0

看看ItemsControl。 – 2012-02-13 17:09:13

+1

Yuck,一個foreach循環,看看[數據綁定](http://msdn.microsoft.com/en-us/library/ms752347.aspx)和[數據模板](http://msdn.microsoft .COM/EN-US /庫/ ms742521.aspx)。 – 2012-02-13 17:12:39

回答

0

WinForms UserControl與WPF UserControl不同。

您必須在WPF中再次創建UserControl。

當然,您可以將WinForms UserControl包裝在WindowsFormsHost元素中,但這不是很好的做法。

+0

我擁有的用戶控件是一個wpf用戶控件 – 2012-02-13 18:14:21

+1

必須忽略這一點。無論如何,WPF中的GUI是在XAML中完成的。 (儘管可以在代碼隱藏方面完成,但這也不是好的做法) – AkselK 2012-02-13 19:32:20