2012-01-08 9 views
1

Silverlight 5でリリースされたPivotViewer v2を使用しています。PivotViewerの新しいデータバインディング機能を使用し始めました。サーバーから渡されたデータオブジェクトに直接バインドし、 ItemTemplateを使用してPivotViewerにオブジェクトを表示することです。PivotViewer v2の動的コレクションと詳細なズーム画像

CXMLを使用すると、ピボットビューア(これはJITコレクション)のDZC/DZIを事前に生成することができましたが、Deep Zoomイメージングと新しいPivotviewerのデータバインディングの使い方を理解できません。データバインドされたコレクションのアイテムテンプレートに深いズームイメージを表示するにはどうすればよいですか?

私は、PivotViewerMultiSizeImageクラス(以下のXAML)とPivotViewerMultiScaleSubImageHostクラスを使ってみました。下の私の例はほとんど動作します:画像を表示しますが、100ピクセルレベルではまっているようです。また、DZIでMultiScaleImageコントロールを試しましたが、運がない - すぐにOutOfMemory例外が生成されます。

新しいPivotViewerでデータバインディングを使用してDeep Zoom機能を取得する方法を知っている人はいますか?

<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> 

答えて

0

私はオブジェクトのコレクションにバインディングを実装しましたが、イメージのディープズームコレクションを使用しています。私は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> 
0

これはコントロールのサイズとして指定しているため、100x100イメージが表示されます。最大の画像を表示するために起こすのに十分な大き

<pivot:PivotViewerMultiSizeImage Width="2000" Height="2000">

か何かに

<pivot:PivotViewerMultiSizeImage Width="100" Height="100">

のサイズを変更します。また、このことが重要かどうかはわかりませんが、最大の画像にMaxHeight/MaxWidthを設定していません。

これは私のために働いてくれました。これは、データバインディングのような深いズームのような正しい方向に私を導いてくれるため、これを理解してくれてありがとうございました!

関連する問題