2009-09-23 69 views
1

有沒有人有任何創建自定義Silverlight時間表的好指針?實際上,它甚至不需要那個定製,我有一個數據庫表,並且該表中的每個對象都有一個名爲「CreateDate」的日期時間字段。我想用這個字段來組裝一個時間軸,在每個特定的CreateDate點顯示其他相關字段........C#Silverlight - 構建時間軸?

任何提示?建議?幫幫我?樣品?

乾杯

回答

2

實現您自己的時間軸面板。它很容易!

面板允許您控制其子項的佈局。 ItemsControl例如公開了一個名爲ItemsPanel的屬性ItemsPanelTemplate。默認情況下,這個ItemsPanelTemplate包含一個垂直的StackPanel,但可以用你的真棒時間軸面板覆蓋。他們關鍵的任何時間軸都是x座標。

使用下面的代碼來計算你的x座標是戰鬥的一半。之後,它只是確定重疊的問題,以便您可以在時間軸上正確堆疊項目。

Avanade Silverlight加速器有一個時間軸控制和StackCalendar控制(認爲加特圖),它非常好地工作。

public double ScaleDate(DateTime date) 
    { 
     TimeSpan span = this.StopDate - this.StartDate; 
     TimeSpan pos = date - this.StartDate; 

     double posDays = double.Parse(pos.Days.ToString()); 
     double spanDays = double.Parse(span.Days.ToString()); 
     double x = posDays/spanDays; 

     return x; 
    }