我使用的是随Silverlight5发布的PivotViewer v2。我已经开始使用PivotViewer的新数据绑定功能,直接绑定到从服务器传递过来的数据对象,并使用ItemTemplate在PivotViewer中显示这些对象。
使用CXML,我可以为pivot查看器(它是一个JIT集合)预先生成DZC/DZI,但是我不知道如何使用Deep Zoom图像和新的带有数据绑定的Pivotviewer。如何在数据绑定的集合的项模板中显示深度缩放图像?
我尝试过使用PivotViewerMultiSizeImage类(下面的XAML)和PivotViewerMultiScaleSubImageHost类。我下面的例子几乎行得通:它显示了一个图像,但似乎停留在100像素的水平-没有深度缩放。我还在DZI中尝试了MultiScaleImage控件,但没有成功-它会立即生成一个OutOfMemory异常。
有人知道如何在新的PivotViewer中通过数据绑定获得深度缩放功能吗?
<pivot:PivotViewer.ItemTemplates>
<pivot:PivotViewerItemTemplate>
<pivot:PivotViewerMultiSizeImage Width="100" Height="100">
<pivot:PivotViewerMultiSizeImage.Sources>
<pivot:PivotViewerMultiSizeImageSource MaxHeight="100" MaxWidth="100" UriSource="{Binding Images[2]}" />
<pivot:PivotViewerMultiSizeImageSource MaxHeight="300" MaxWidth="300" UriSource="{Binding Images[3]}" />
<pivot:PivotViewerMultiSizeImageSource MaxHeight="500" MaxWidth="500" UriSource="{Binding Images[4]}" />
<pivot:PivotViewerMultiSizeImageSource MaxHeight="700" MaxWidth="700" UriSource="{Binding Images[5]}" />
<pivot:PivotViewerMultiSizeImageSource MaxHeight="20000" MaxWidth="20000" UriSource="{Binding Images[6]}" />
</pivot:PivotViewerMultiSizeImage.Sources>
</pivot:PivotViewerMultiSizeImage>
</pivot:PivotViewerItemTemplate>
</pivot:PivotViewer.ItemTemplates>发布于 2012-02-03 15:41:39
我已经实现了绑定到一个对象集合,但对图像使用了一个深度缩放集合。我使用了Excel工具,但只给了它图像的路径(按名称排序)和一个名称。我没有使用cxml文件,但使用了所有其余的深度缩放图像文件。我向集合中的数据对象添加了一个名为Img的属性。Img是该对象在图像集合中的图像编号索引(从0开始)。然后,我的PivotViewer ItemTemplate绑定到此属性。CollectionSource属性被设置为我的图像集合xml文件的路径(在生成的cxml中命名)。
<Visualizer:MyPivotViewer x:Name="RedemptionPivot" >
<Pivot:PivotViewer.ItemTemplates>
<Pivot:PivotViewerItemTemplate >
<Pivot:PivotViewerMultiScaleSubImageHost ImageId="{Binding Img}" CollectionSource="http://www.redemptionlive.com/Visualizer5/RedemptionCards_files/e3tbc2s0.4td.xml"/>
</Pivot:PivotViewerItemTemplate>
</Pivot:PivotViewer.ItemTemplates>
<Pivot:PivotViewer.PivotProperties>
<Pivot:PivotViewerStringProperty Id="Name" Options="CanFilter,CanSearchText" DisplayName="Name" Binding="{Binding Name}" />
<!--The rest of the properties go here-->
</Pivot:PivotViewer.PivotProperties>
</Visualizer:MyPivotViewer>发布于 2012-11-29 02:32:10
您将获得100x100的图像,因为您将其指定为控件的大小。更改的大小
<pivot:PivotViewerMultiSizeImage Width="100" Height="100">
至
<pivot:PivotViewerMultiSizeImage Width="2000" Height="2000">
或者大到足以让最大的图像显示出来。此外,我不确定这是否重要,但我没有在我最大的图像上放置MaxHeight/MaxWidth。
这对我很有效,谢谢你半途而废,因为你引导我走上了正确的道路,获得了像数据绑定一样的深度缩放功能!
https://stackoverflow.com/questions/8781935
复制相似问题