You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF中ListView绑定ObservableCollection时List<double>仅显示首个元素的问题

WPF ListView显示List完整列表的解决方案

问题根源在于WPF默认的DisplayMemberBinding对集合类型的处理逻辑,导致仅显示首个元素或格式不符合预期。无需手动将集合转换为格式化字符串,直接通过XAML的DataTemplate嵌套ItemsControl即可实现完整列表的显示:

具体实现步骤

将原来直接绑定EffluxTimeList的GridViewColumn替换为带自定义CellTemplate的列:

<ListView ItemsSource="{Binding SampleOutput}">
    <ListView.View>
        <GridView>
            <!-- 其他正常绑定的列 -->
            <GridViewColumn Header="流出时间">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <!-- 用ItemsControl直接绑定List<double>集合 -->
                        <ItemsControl ItemsSource="{Binding EffluxTimeList}">
                            <!-- 设置元素排列方式:横向排列(可改为Vertical实现纵向) -->
                            <ItemsControl.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <StackPanel Orientation="Horizontal" />
                                </ItemsPanelTemplate>
                            </ItemsControl.ItemsPanel>
                            <!-- 单个数值的显示模板 -->
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding}" Margin="0 0 8 0" />
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                        </ItemsControl>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

可选调整

  • 若需要纵向排列列表元素,将StackPanel的Orientation属性改为Vertical即可。
  • 若要为数值添加分隔符(如逗号),可在ItemTemplate的TextBlock后添加固定分隔符元素:
    <DataTemplate>
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding}" />
            <TextBlock Text=", " Margin="0 0 4 0" />
        </StackPanel>
    </DataTemplate>
    

内容的提问来源于stack exchange,提问作者Noah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 19:49:58