所以我有一个类Question
,其属性@Question
和Answer
是一个字符串,我想将它绑定到Listview,以便当我说
lv.ItemsSource = AllQuestions; //lv being the listview and AllQuestions being a List<Quesiton>
和XAML
<ListView x:Name="lv" HorizontalAlignment="Left" Height="310" Margin="0,10,0,0" VerticalAlignment="Top" Width="225" SelectionChanged="lv_SelectionChanged">
<ListView.View>
<GridView>
<GridViewColumn Header="Questions" Width="225" DisplayMemberBinding="{Binding Question}"/>
</GridView>
</ListView.View>
它显示@Question
属性。例如,如果我有
AllQuestions.Add(new Question { Quesiton = "why", Answer = 'a'});
lv.ItemsSource = AllQuestions;
列表视图会显示why
,但它只显示空格。我注意到,当我将DisplayMemberBinding="{Binding Question}"
更改为DisplayMemberBinding="{Binding Answer}"
时,它会正确显示a
。
如果它有帮助,我的问题类的代码是:
public class Question
{
public string @Question { get; set; }
public char Answer { get; set; }
}
总而言之,我想知道的是如何显示@Question
属性以及为什么当DisplayMemberBinding="{Binding Question}"
显示空白
答案 0 :(得分:1)
根据MSDN,您不能拥有与该类同名的类成员。
类或结构的成员不能与类或结构具有相同的名称,除非该成员是构造函数。
如果您无意中在构造函数上放置了返回类型,可能会导致错误CS0542,这实际上使其成为普通方法。
您需要重命名您的课程或属性,并且不要忘记相应地更改xaml文件。