0

以下のようにカスタマイズされたリストを実装する必要があります。ヘッダーをクリックして、特定のフィールドのアイテムを並べ替えることができるはずです。行も拡張可能である必要があります。ユーザーが + をクリックすると、行が展開され、field2 値の下に詳細情報が表示されます。

私の必要性:

GridView で ListView を使用しようとしました。列ごとに、テンプレートを定義しました (左側に + が付いた field1 値のテンプレート、field 2 値用のテンプレート、field 3 値用のテンプレート)。今回の実装で、「1行をどう展開するか」が課題です。

ListBox コンポーネントも見ましたが、手動でヘッダーを作成してコンテンツを揃える必要があります。また、手動で並べ替える必要があります。それは私にとって良い解決策ではないようです。

もっと良いアイデアやアドバイスはありますか?

4

2 に答える 2

1

私が正しく理解している場合、「展開」とは、行の下に sth を表示することを意味しますか (具体的には、リスト ビュー アイテム)?

その場合は、データ テンプレートで、たとえば、stackpanel を追加し、その Visibility を collaped に変更します。

「+」ボタンをクリックして、折りたたみを表示に変更します。

<ListView ...>
   <ItemTemplate>
       <GridView ...>
           <Button Name="ExpandButton Click="OnClick"/>
       <StackPane  Visibility={Binding SomeProperty} />
   <Itemtemplate>
</ListView>

Onclick で、SomeProperty=Visibility.Visible を変更します。WPF でのデータ バインディングに慣れていることを前提としています。

于 2013-04-09T08:28:36.247 に答える