3
我有一個項目列表,我想要垂直滾動,直到鼠標懸停在項目列表上。然後,會出現一個滾動條。我被卡住的部分是讓列表的效果不斷循環的最佳方式。所以,如果您有:如何在Silverlight中製作垂直行情?
-----
A
B
C
D
E
-----
將滾動是這個樣子:
----
D
E
A
B
C
----
有我的方式做到這一點,而無需兩個集合?
我有一個項目列表,我想要垂直滾動,直到鼠標懸停在項目列表上。然後,會出現一個滾動條。我被卡住的部分是讓列表的效果不斷循環的最佳方式。所以,如果您有:如何在Silverlight中製作垂直行情?
-----
A
B
C
D
E
-----
將滾動是這個樣子:
----
D
E
A
B
C
----
有我的方式做到這一點,而無需兩個集合?
你可以做這樣的事情:
ObservableCollection<string> myList;
public MainPage()
{
InitializeComponent();
myList = new ObservableCollection<string>();
myList.Add("A");
myList.Add("B");
myList.Add("C");
myList.Add("D");
myList.Add("E");
System.Threading.Timer t = new System.Threading.Timer(new System.Threading.TimerCallback(TimerFired));
t.Change(500, 500);
listBox2.ItemsSource = myList ;
}
private void TimerFired(object sender)
{
Pop();
}
private delegate void PopDelegate();
private void Pop()
{
if (this.Dispatcher.CheckAccess())
{
string item = myList[myList.Count - 1];
myList.RemoveAt(myList.Count - 1);
myList.Insert(0, item);
}
else
{
this.Dispatcher.BeginInvoke(new PopDelegate(Pop), null);
}
}
有趣的想法。看着你的代碼,而不是滾動,你只是重新排序列表。不過,我正在嘗試做一個更流暢的滾動動作。謝謝,不過。 – Justin
也許這樣的事情會幫助你? [wp7循環選擇器](http://babaandthepigman.wordpress.com/2010/09/22/wp7-looping-selector/) – Rachel