【问题标题】:ListView display error saying "String[] array" in every row C#ListView在每一行C#中显示错误说“String []数组”
【发布时间】:2016-07-16 15:02:21
【问题描述】:

所以我想在 ListView 中显示一些信息。但我得到了一个非常奇怪的结果。 listView 在每个单元格中显示“String[] Array”。 我要显示的信息存储在数组字符串中。

output of my listView

C#

public void addTagDataListView(string[] content)
    {


        this.Dispatcher.Invoke((Action)(() =>
        {
            ListViewItem lsi = new ListViewItem();
            lsi.Content = content;
            //lsi.Content = new string[] { content[0].ToString(), content[1].ToString(), content[2].ToString(), content[3].ToString() };
            lsvData.Items.Add(lsi);
        }));
    }

XAML

<ListView x:Name="lsvData" HorizontalAlignment="Left" Height="266" Margin="10,43,0,0" VerticalAlignment="Top" Width="497">
        <ListView.View>
            <GridView>
                <GridView.Columns>
                    <GridViewColumn Header="ID" Width="50"/>
                    <GridViewColumn Header="PosX" Width="120"/>
                    <GridViewColumn Header="PosY" Width="120"/>
                    <GridViewColumn Header="Time stamp" Width="200"/>
                </GridView.Columns>
            </GridView>
        </ListView.View>
    </ListView>

【问题讨论】:

  • 你在 `GridViewColumn' 中没有价值 Bindings,添加一些。然后,这应该可以工作。
  • 查找绑定并拥有一个具有 4 个属性的类

标签: c# arrays wpf listview


【解决方案1】:

列表视图行上显示的文本通常是项目的 ToString() 函数。似乎您已经为每一行添加了一个字符串数组而不是一个字符串。字符串数组的 ToString() 将返回 "string[] array"

【讨论】:

  • 你知道如何解决这个问题吗? lsi.Content = 内容[0];可行,但整行都充满了 content[0] 的值
  • 听起来这个函数每个单元格调用一次?如果是这样,也许您可​​以弹出字符串数组内容的第一项或跟踪您应该添加哪个索引。
猜你喜欢
  • 2012-06-01
  • 1970-01-01
  • 2014-09-08
  • 1970-01-01
  • 1970-01-01
  • 2017-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多