2014-01-05 40 views
1

比方說,我有一個尺寸爲480x800的圖像。我想在屏幕上有一個方形控件(尺寸爲480x480),首先顯示圖像的最頂部,然後慢慢地垂直滾動到圖像的末尾,當它到達它時,它會再次滾動,然後再次滾動等等。 。控制比圖像本身小是非常重要的,因爲這裏的主要問題是如果整個圖像在屏幕上佔用太多空間。Windows Phone 8中圖像的自動連續滾動

我也不希望用戶能夠手動滾動圖像,因爲這個控件將用於LongListSelector中,點擊它會帶你到一個新的頁面顯示整個圖像,所以控件將提供在其中顯示的圖像的一種可滾動預覽,並且用戶不需要手動滾動。

我試圖實現與ScrollViewer中此功能,並試圖尋找起來做這件事的其他方式,但我沒有發現任何東西,將工作。我的問題是,如果有什麼會支持這一點,或者是制定支持這種行爲的自定義控件的最佳方式?而且,如果有人有任何提示如何實現這個自定義控件,我真的很感激它。謝謝。

+0

只是出於好奇心,不僅高度更大,而且寬度更大的圖像會發生什麼情況。在這種情況下該功能應該如何工作? –

+0

@RandRandom這個想法是縮放圖像,使圖像適合寬度方向的控件,並且可以垂直滾動。但是否則所用圖像的尺寸將不會成爲問題,因爲它們總是相同的。 – neits

回答

0

我發現製作自定義控件不是必需的。隨着更多的研究,我能夠找出一個合適的解決方案。我用一個邊界設置爲與圖像刷的背景的圖像和與該自動反轉並永遠重複的動畫動畫它。我會在下面發佈解決方案,這可能對某人有用。

<Border Height="480" Width="480" Tap="animBegin"> 
    <Border.Resources> 
     <Storyboard x:Name="transformAnimation"> 
      <DoubleAnimation Storyboard.TargetName="transform" 
          Storyboard.TargetProperty="TranslateY" 
          From="0" To="-320" Duration="0:0:5" 
          AutoReverse="True" RepeatBehavior="Forever" /> 
     </Storyboard> 
    </Border.Resources> 
    <Border.Background> 
     <ImageBrush Stretch="UniformToFill" 
        ImageSource="/Assets/sample.jpg" 
        AlignmentY="Top"> 
      <ImageBrush.Transform> 
       <CompositeTransform x:Name="transform" TranslateY="0"/> 
      </ImageBrush.Transform> 
     </ImageBrush> 
    </Border.Background> 
</Border>