【问题标题】:How to go about making vertical ticker in silverlight?如何在silverlight中制作垂直股票?
【发布时间】:2012-06-12 16:15:38
【问题描述】:

我有一个项目列表,我想慢慢垂直滚动,直到鼠标悬停在项目列表上。然后,将出现一个滚动条。我坚持的部分是使列表不断循环的最佳方式。所以如果你有:

-----
A
B
C
D
E
-----

它会滚动并看起来像这样:

----
D
E
A
B
C
----

有没有办法让我在没有两个集合的情况下做到这一点?

【问题讨论】:

标签: c# .net wpf silverlight


【解决方案1】:

你可以这样做:

    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);
        }
    }

【讨论】:

  • 有趣的想法。查看您的代码,而不是滚动,您实际上只是重新排序列表。但是,我正在尝试进行更流畅的滚动动作。不过,谢谢。
猜你喜欢
  • 2021-12-26
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多