2011-11-20 65 views
0

這是一個關於如何創建可重複使用的WPF幻燈片控制一個入門問題:通用幻燈片入門

  • 顯示任何可視化的元素的序列例如一系列的圖像的控制的或一系列用戶控件的(我應定位ContentControl,還是有包圍更多visualizables /控制更廣泛的類型?
  • 控制應能夠接受某種IList,這將是元素/幻燈片呈現
  • 控制應公開確定每個幻燈片的持續時間的Interval屬性,但我甚至不知道如何與在產品,它的屬性爲方面上手的基礎知識配置在xaml
  • 又該容器中,如果有的話,對於在通過各個滑板/控制?
+0

你需要動畫?如果不是這樣會容易得多。 –

+0

在第一時間不需要動畫.. – Cel

回答

1

首先,你應該建立一個UserControl它包含一個Image控制,也許下一首/上一Buttons,和其他任何你可能需要。這些都將使用各種面板作爲正常佈局,你可能只需要一個網格就可以完成大部分功能。

之後,您的UserControl將執行ImageSource(您的IListIEnumerable圖像)和您的間隔作爲依賴項屬性。這些可以在XAML中設置。

然後,您將編寫加載下一個圖像並將其設置爲圖像的Source屬性的邏輯,這可能發生在ImageSource屬性的更改事件中。然後,您可以使用圖像預加載/緩存等方式獲得更高級的圖像。

+0

感謝您的答案! 1)我可以在哪裏瞭解如何爲Interval創建依賴項屬性? 2)即時通訊有興趣創建一個通用的幻燈片控制與工作不僅僅是圖像控件(例如它woudl能夠證明給它的幻燈片整個用戶控件),因此,我對是否使用'ContentControl'還是別的什麼問題? – Cel

+1

是的,如果您希望幻燈片是通用的,您可以使用ContentControl。 Interval依賴項屬性將只存儲間隔值,當值更改時,可以重置Timer。依賴屬性在這裏解釋 - http://msdn.microsoft.com/en-us/library/ms752914.aspx – devdigital

1

我剛剛深入瞭解WPF自己的「幻燈片」項目,其中我在屏幕上顯示客戶訂單號一段時間然後顯示下一個,然後使用Effect/Transitions/Storyboards移動到下一個幀。我發現CodeProject

一個很好的文章中,我用一個網格2行:

  1. 包含我的「改變區域」。
  2. 包含靜態信息(標誌,控制等)。

記住如果您在其上使用任何類型的轉換,請在您的更改區域上設置「cliptobounds = true」。 (我知道你說過你最初沒有使用過渡,但是一旦人們看到它,他們會問)。

依賴屬性也很容易建立在C#中,如果你只需要輸入propdp和打標籤。

+0

感謝一個偉大的鏈接和提示 - ID選擇你的答案,但devdigital首先回答... – Cel