2014-03-05 19 views
0

我目前正試圖編寫一個控件,它將顯示一組元素,每個元素的開始時間介於0到1.我們所期望的視覺外觀與簡單的時間表類似。WPF自定義面板 - 在面板區域的結尾和開始之間分割最終元素的視覺

我已經創建了一個將單個元素呈現爲一行的FrameworkElement(該行代表一個元素與下一個元素之間的轉換,例如y(x)= x),我的意圖是將此元素用作我的自定義ItemsControl的DataTemplate的。通過水平翻轉奇怪元素並將它們拼湊在一個面板中,應該可以看到元素之間連續的一系列過渡。我很難決定如何實施這個小組,特別是填補小組開始時可能發生的「死亡空間」。

我試圖繪製的元素集合表示循環效果,但第一個元素可能無法在時間T = 0時開始。因爲效果回到自身上,這意味着T = 0和第一個效果的開始時間之間的差距實際上是由集合中最後一個元素的最後部分組成的。這意味着我必須找到切割面板中最後一個視覺元素的方法,以便前面部分位於面板的末端,後面部分位於面板的起始位置。

另一種考慮這種情況的方法是用圓/餅圖 - 如果元素A從15%開始,元素B從50%開始,元素B將佔據區域50-100%和0%-15 %連續。

我真的想找到一種方法來在WPF中以可視方式完成此操作,而不是通過修改項目集合(例如,通過在0和第一個元素之間添加假「填充」元素),因爲這會導致併發性下降當涉及到修改/選擇項目等事項時的界限。

有人建議將此繪製爲0-1效果(如果存在第一個元素,則移除任何偏移量),然後使用一對重新創建偏移量相機/視口,這是我不熟悉,似乎有點矯枉過正。任何人都可以建議一個更簡單或更優雅的方式?

回答