2009-07-25 11 views
6

私は、ユーザーにイメージのグループを提示する必要があるタッチスクリーンアプリケーション(Webアプリケーションではない)を動かすつもりです。 3x3グリッドの画像をページ順方向/逆方向機能で提示することが望まれる。彼らはいくつかを選ぶことができ、私はそれらのイメージだけを提示します。WPFイメージギャラリー

ListViewは私が欲しいものは何もしていませんが(WPFは十分に大きいので、私は明らかに何かを見逃しているかもしれません)。グリッド位置にGridとstuffイメージを設定することができました。しかし、私はもっと素敵な、より自動化された、より軽い力を望んでいました。任意の思考やポインタ?

答えて

7

あなたはItemsControl/ListBoxを使用して、適切なWPFバインド可能なソリューションを実現するために、そのItemsPanelとして3x3の表示のためにUniformGridパネルを設定することをお勧めします。

<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
     <UniformGrid Rows="3" Columns="3"/> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
    <Image Source="Images\img1.jpg" Width="100"/> 
    <Image Source="Images\img2.jpg" Width="50"/> 
    <Image Source="Images\img3.jpg" Width="200"/> 
    <Image Source="Images\img4.jpg" Width="75"/> 
    <Image Source="Images\img5.jpg" Width="125"/> 
    <Image Source="Images\img6.jpg" Width="100"/> 
    <Image Source="Images\img7.jpg" Width="50"/> 
    <Image Source="Images\img8.jpg" Width="50"/> 
    <Image Source="Images\img9.jpg" Width="50"/> 
</ListBox> 

ダイナミックなソリューションを探している場合は、イメージのコレクションをItemsSourceバインディングとして設定する必要があります。しかし、正確な答えを出すには問題が広すぎる。

3

簡単なListBoxコントロールを使用して、ItemsPanelテンプレートをカスタマイズし、WrapPanelを追加できます。 WrapPanelは、水平タイルレイアウトでアイテムを配置します.3つのアイテムを1つの行に組み込むように最大幅を設定し、最後のアイテムがいっぱいになるまで3つのアイテムに対してさらに多くの行を作成します。

5

これはかなり古い質問ですが、私はこのページがGoogleの最初のページにあり、このリンクが誰かにとって有益である可能性があるため回答しています。

WPF Photo Viewer Demo

スクリーンショット: Screenshot

関連する問題