由于ListView使用ObservableCollection填充,因此行不可见

时间:2015-07-10 18:57:08

标签: c# wpf listview

我在WPF中填充listview时遇到问题 我面临的问题完全一样 Bind an ObservableCollection to a ListView
但解决方案对我不起作用。我仍然得到错误:40:BindingExpression路径错误与我在xaml文件中的绑定属性。
我的xaml如下:

<ListView x:Name="qList" ItemsSource="{Binding Question}">
 <ListView.View>
  <GridView>
   <GridViewColumn Header="h1" DisplayMemberBinding="{Binding qNo}"/>
   <GridViewColumn Header="h2" DisplayMemberBinding="{Binding question}"/>
   <GridViewColumn Header="h3" DisplayMemberBinding="{Binding imageName}"/>
   <GridViewColumn Header="h4" DisplayMemberBinding="{Binding a1}"/>
   <GridViewColumn Header="h5" DisplayMemberBinding="{Binding a2}"/>
   <GridViewColumn Header="h5" DisplayMemberBinding="{Binding a3}"/>
   <GridViewColumn Header="h6" DisplayMemberBinding="{Binding a4}"/>
   <GridViewColumn Header="h7" DisplayMemberBinding="{Binding ca}"/>
  </GridView>
 </ListView.View>
</ListView>

在我的.cs文件中,我已经定义了ObservableCollection和Question类,如下所示:

ObservableCollection<Question> _Questions = new ObservableCollection<Question>();

public ObservableCollection<Question> Questions
{ get { return _Questions; } }

public class Question
{
 public int qNo { get; set; }
 public string question { get; set; }
 public string imageName { get; set; }
 public string a1 { get; set; }
 public string a2 { get; set; }
 public string a3 { get; set; }
 public string a4 { get; set; }
 public int ca { get; set; }
}

为了填充listview(qList),我使用以下代码:

DataSet ds = db.GetQList(qSetNo); //This is returning a correct dataset
_Questions.Add(new Question { });

if (ds.Tables.Count > 0)
 qList.ItemsSource = ds.Tables[0].DefaultView;

列表视图正在填充正确的数据。当单击列表视图行时,会注意到相关文本框中填充了数据集(ds)中的数据。

编辑:

new SqlDataAdapter(new SqlCommand("SELECT " + q_column_qNo + "," + q_column_question + "," + q_column_imageName + "," + q_column_a1 + "," + q_column_a2 + "," + q_column_a3 + "," + q_column_a4 + "," + q_column_ca + " FROM " + q_table_name + " WHERE " + q_column_qSet + "=" + qSetNo, conn)).Fill(ds);

1 个答案:

答案 0 :(得分:0)

这可能是一个非常简单的; 你的约束:{Binding Question}

和您的C#:Questions

(Plural vs. Singular)

之前去过那里:)