I'm writing a program with MVVM
(C#) and XAML
using Caliburn.Micro
library.
I was wondering how can I bind my Listview control with some containers such as List<Type>
, IEnumerable<Type>
or ObservableCollection< Type>
?
Views\MainView.xaml
<ListView Grid.Column="1" x:Name="FileListView" ItemsSource="{Binding ListOfFile}" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" Margin="10" Background="#FFE6EEF7">
<ListView.View>
<GridView>
<GridViewColumn Header="Status" Width="100" />
<GridViewColumn Header="Name" Width="85" />
<GridViewColumn Header="Size" Width="100" />
<GridViewColumn Header="System Type" Width="100" />
<GridViewColumn Header="Email Count" Width="100" />
<GridViewColumn Header="Info Count" Width="100" />
</GridView>
</ListView.View>
</ListView>
ViewModels\MainViewModel.cs
namespace ListBox_CaliburnMicro
{
public class MainViewModel : Screen
{
// ...
public MainViewModel()
{
}
public class FileItem
{
public string FileStatus { get; private set; }
public string FileName { get; private set; }
public string FileSize { get; private set; }
public string FileType { get; private set; }
public string FileEmailCount { get; private set; }
public string FileInfoCount { get; private set; }
public FileItem(string s1 = "", string s2 = "", string s3 = "", string s4 = "", string s5 = "", string s6 = "")
{
FileStatus = s1;
FileName = s2;
FileSize = s3;
FileType = s4;
FileEmailCount = s5;
FileInfoCount = s6;
}
}
}
}