我想在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控制,以避免實施我自己的變焦功能,但因爲我有時需要把兩張圖片並排放大,就好像它們是一個我不認爲我可以使用它。
你試過使用兩個RadPanAndZoom?並保持它們的縮放級別同步? –
我已經玩了一下,但我不明白它是如何工作的。我需要這些圖像可以縮放和平移,就像它是一個圖像一樣。因此,左側圖像的右側邊框位於右側圖像的左側邊框,我不認爲使用兩個RadPanAndZoom控件和同步縮放級別是不可能的。 – Bennyb123
你試圖完成什麼? –