1

現在、ListView があります (詳細ビューを使用)。ユーザーが 1 つの項目 (ログ エントリ) を選択すると、ログ エントリが (1 行から複数​​行に) 展開され、発生したエラーに関するより詳細な情報を提供する動作を実装したいと考えています。

私の質問はこれです:これは可能ですか?もしそうなら、私を助けるために使用できる良いリソースはありますか?

編集:

WPFを使用する必要がある場合は、コントロールで ElementHost を使用すると思います。ただし、WPFコンポーネントの設計/コーディング/使用についてはまったくわかりません。助言がありますか?

4

4 に答える 4

5

編集:申し訳ありませんが、これはwpfです

同じことを達成するために私が使用したトリックは、デフォルトで折りたたまれているセカンダリ グリッドを表示するトリガーを作成することでした。

これを試してください:

    <ListBox ItemsSource="{Binding}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition></RowDefinition>
                        <RowDefinition></RowDefinition>
                    </Grid.RowDefinitions>

                    <Grid Grid.Row="0" Height="20" >
                        <TextBlock Text="Not Selected"></TextBlock>
                    </Grid>
                    <Grid x:Name="selectedOnlyGrid" Grid.Row="1" Visibility="Collapsed">
                        <TextBlock Text="Selected"></TextBlock>
                    </Grid>

                </Grid>

                <DataTemplate.Triggers>
                    <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBoxItem}, AncestorLevel=1}, Path=IsSelected}" Value="True">
                        <Setter Property="Visibility" Value="Visible" TargetName="selectedOnlyGrid" />
                    </DataTrigger>
                </DataTemplate.Triggers>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
于 2008-11-18T13:27:58.053 に答える
2

CodeProject の投稿を読んでください: Extended List Box

あなたがそれに必要なすべての情報を持っている必要があります:)

于 2008-11-18T10:56:57.063 に答える
1

ListView でこれを行う 1 つの方法は、「親」が選択されたときに、追加の行ごとに新しい ListViewItem を動的に追加することです。同様に、選択が別の項目に変更された場合は、それらを削除する必要があります。

また、デフォルトのアップ/ダウン動作をオーバーライドして、子アイテムをスキップすることもできます。

于 2008-11-18T11:04:23.583 に答える
0

あなたの質問に対する直接的な回答ではありませんが、この場合はグリッドを使用したほうがよいと思います。

于 2008-11-18T10:32:21.730 に答える