c#如何在ListView中展开项目以占用多行?

TK.*_*TK. 1 c# wpf listview winforms

目前我有一个ListView(使用详细信息视图).我想实现这样的行为:当用户选择单个项目(日志条目)时,日志条目会扩展(从一行到多行),以提供有关发生的错误的更详细信息.

我的问题是:这可能吗?如果是这样,我可以使用一个很好的资源来帮助我吗?

编辑:

如果我HAVE使用WPF,那么我猜病态使用ElementHost的与控制.但是,我完全不知道如何设计/编码/使用WPF组件.有什么建议?

bug*_*ggs 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>
Run Code Online (Sandbox Code Playgroud)