0

我想在RadSlideView ItemTemplate中實現縮放功能。我通過使用帶有Canvas的ViewportControl,然後將RenderTransform(ScaleTransform)應用到Canvas中的StackPanel來實現此目的。與找到的SDK-sample相似here在Panorama/Pivot/RadSlideView中使用ScaleTransform時滾動問題項目

我遇到的問題是ScaleTransform似乎正在影響用於在SlideView/Panorama/Pivot控件中更改項目的輕掃手勢。例如。如果ScaleTransform設置爲0.1,似乎我只需要輕掃長度的1/10來更改項目,而使用ScaleTransform爲1.0。

我發現如果我在ItemTemplate上將IsHitTestVisible設置爲false,那麼滑動就像我想要的那樣工作。但這不是一個解決方案,因爲我有時需要能夠垂直平移內容,同時仍然能夠通過水平滑動來更改項目。

所以我的問題是我該如何解決這個問題?

,以供參考XAML看起來像這樣:

<Controls:RadSlideView Name="SlideView" ItemsSource="{Binding Pages}" IsLoopingEnabled="False" SelectionChanged="RadSlideView_SelectionChanged" CacheMode="BitmapCache" ManipulationStarted="SlideView_ManipulationStarted" ManipulationCompleted="SlideView_ManipulationCompleted" ManipulationDelta="SlideView_ManipulationDelta"> 
<Controls:RadSlideView.ItemTemplate> 
    <DataTemplate> 
     <ViewportControl x:Name="SlideViewViewport" ViewportChanged="SlideViewViewport_ViewportChanged" Loaded="SlideViewViewport_Loaded"> 
      <Canvas> 
       <StackPanel> 
        <Image Source="{Binding Image}" Stretch="Fill" Width="{Binding ElementName=SlideView, Path=DataContext.PageWidth}" Height="{Binding ElementName=SlideView, Path=DataContext.PageHeight}" CacheMode="BitmapCache"/> 
        <StackPanel.RenderTransform> 
         <ScaleTransform x:Name="xform"/> 
        </StackPanel.RenderTransform> 
       </StackPanel> 
      </Canvas> 
     </ViewportControl> 
    </DataTemplate> 
</Controls:RadSlideView.ItemTemplate> 

我也看了Teleriks RadPanAndZoom控制,以避免實施我自己的變焦功能,但因爲我有時需要把兩張圖片並排放大,就好像它們是一個我不認爲我可以使用它。

+0

你試過使用兩個RadPanAndZoom?並保持它們的縮放級別同步? –

+0

我已經玩了一下,但我不明白它是如何工作的。我需要這些圖像可以縮放和平移,就像它是一個圖像一樣。因此,左側圖像的右側邊框位於右側圖像的左側邊框,我不認爲使用兩個RadPanAndZoom控件和同步縮放級別是不可能的。 – Bennyb123

+0

你試圖完成什麼? –

回答

0

問題是ScaleTransformation縮放您的圖片,但不會更改它的高度和寬度。只有當高度和寬度溢出滾動查看器,你可以滾動內容

相關問題