我正在使用選框列表水平列表視圖。哪些從右向左繼續移動。如何從選取框列表的第一個項目和最後一個項目中刪除空格?
我的代碼是:
double height = canMain.ActualHeight - marqueeList.ActualHeight;
marqueeList.Margin = new Thickness(0, 0, 0, 0);
doubleAnimation.From = -marqueeList.ActualWidth;
doubleAnimation.To = canMain.ActualWidth;
doubleAnimation.RepeatBehavior = RepeatBehavior.Forever;
doubleAnimation.Duration = new Duration(TimeSpan.FromSeconds(_marqueeTimeInSeconds));
Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("(Canvas.Right)"));
_storyBoard.Children.Add(doubleAnimation);
_storyBoard.Begin(marqueeList, true)
但是一旦移動完全有空格來,直到再次中的第一項不來。 我想刪除第一項之間的空白空間,最後一個項目。(像circullar)
請幫我在這...它的迫切!
感謝烏拉圭回合的答覆!但我需要在我的選取框列表上使用鼠標,所以沒有其他方式來實現它? – 2010-06-18 15:17:42
是的。正如我在最後一段中提到的,您可以使用自己的邏輯將項目精確地滑到您想要的位置,而不是使用ListView爲您完成。我會用自定義Panel子類來做到這一點。自定義面板將有一個屬性「Offset」,它可以從0到1或從0到ItemCount計數。該屬性將設置InvalidatesArrange標誌。然後在你的ArrangeOverride你會使用偏移值,孩子大小等。該計算的細節取決於您的具體需要計算所有孩子的位置。 – 2010-06-18 19:38:44
要使數據綁定與自定義面板一起工作,您可以繼續使用ListView並將其ItemsPanel屬性設置爲ItemsPanelTemplate,其中包含您的自定義面板類的實例,並根據需要綁定其Offset屬性。然後,只需動畫到這個偏移是綁定的屬性,這將導致Offset屬性更新和ArrangeOverride重新計算的位置。 – 2010-06-18 19:41:08