我有一个绑定到ListView
class Estudante
{
public string primeironome { get; set; }
public string segundonome { get; set; }
public int[] notas { get; set; }
}
主窗口:
ObservableCollection<Estudante> arrList = new ObservableCollection<Estudante>();
ListaAlunos.ItemsSource = arrList;
XAML :
DisplayMemberBinding="{Binding primeironome}"
DisplayMemberBinding="{Binding segundonome}"
DisplayMemberBinding="{Binding notas}"
但是当我向集合添加任何数据时,例如:
arrList.Add(
new Estudante
{
primeironome = "Svetlana",
segundonome = "Omelchenko",
notas = new int[] { 98, 92, 81, 60 }
});
ListView
的结果是:
C1 C2 C3
Svetlana Omelchenko Int32[] Array
我希望如此:
C1 C2 C3
Svetlana Omelchenko 98, 92, 81, 60
任何人都可以帮助我吗?
答案 0 :(得分:1)
创建一个新的string
属性,例如
class Estudante
{
public string primeironome { get; set; }
public string segundonome { get; set; }
public int[] notas { get; set; }
public string StringNotas
{
get
{
return string.Join(",", notas);
}
}
}
并绑定到StringNotas
<强>的Xaml 强>
DisplayMemberBinding="{Binding primeironome}"
DisplayMemberBinding="{Binding segundonome}"
DisplayMemberBinding="{Binding StringNotas}"
您仍将以相同的方式创建数据
arrList.Add(
new Estudante
{
primeironome = "Svetlana",
segundonome = "Omelchenko",
notas = new int[] { 98, 92, 81, 60 }
});
你将在MainWindow
ObservableCollection<Estudante> arrList = new ObservableCollection<Estudante>();
ListaAlunos.ItemsSource = arrList;