Я хочу показать некоторые данные из List<>
в ListBox
без кода позади.
Я пытался использовать привязку через ItemsSource
и DisplayMemberPath
, но это не работает.
Модель:
public class PersonModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string FullName
{
get
{
return $"{FirstName} + {LastName}";
}
}
}
ViewModel:
public class ShellViewModel : Screen
{
List<PersonModel> people = new List<PersonModel>();
public ShellViewModel()
{
people.Add(new PersonModel { FirstName = "John", LastName = "Snow" });
people.Add(new PersonModel { FirstName = "Cersei", LastName = "Lannister" });
people.Add(new PersonModel { FirstName = "Bran", LastName = "Stark" });
}
}
Просмотр (XAML):
<Label Grid.Column="1" Grid.Row="1" FontSize="30" FontWeight="Bold"
Content="Personal Data:" Margin="10"/>
<ListBox Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="2"
ItemsSource="{Binding people}" DisplayMemberPath="FullName"/>
Где я иду не так?Буду благодарен за ответ.