1

Silverlight 5 でリリースされた PivotViewer v2 を使用しています。PivotViewer の新しいデータ バインディング機能の使用を開始し、サーバーから渡されたデータ オブジェクトに直接バインドし、ItemTemplate を使用して PivotViewer にオブジェクトを表示しました。 .

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

PivotViewerMultiSizeImageクラス (以下の XAML) とPivotViewerMultiScaleSubImageHostクラスを使用してみました。以下の私の例はほとんど機能します。画像は表示されますが、100 ピクセル レベルでスタックしているように見えます。Deep Zoom はありません。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>
4

2 に答える 2

0

これをコントロールのサイズとして指定しているため、100x100 の画像を取得しています。のサイズを変更します

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

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

または、最大の画像を表示するのに十分な大きさのもの。また、これが問題になるかどうかはわかりませんが、最大の画像に MaxHeight/MaxWidth を設定しませんでした。

これは私にとってはうまくいきました.これを途中で理解してくれてありがとう.

于 2012-11-28T18:32:09.627 に答える
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>
于 2012-02-03T07:41:38.643 に答える