Я использую окно ленты, и в «области содержимого под» у меня есть сетка, в которой я буду отображать пользовательские элементы управления. Чтобы продемонстрировать мою проблему, давайте взглянем на этот простой UserControl:
<ListView x:Name="lvPersonList">
<ListView.View>
<GridView>
<GridViewColumn Width="120" Header="Name" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Width="120" Header="Height" DisplayMemberBinding="{Binding Height}"/>
</GridView>
</ListView.View>
</ListView>
и код:
public partial class MyUserControl: UserControl
{
private List<Person> personList;
public TestSnpList()
{
InitializeComponent();
this.personList = new List<Person>();
this.personList.Add(new Person { Name = "Chuck Norris", Height = 210 });
this.personList.Add(new Person { Name = "John Rambo", Height = 200 });
this.lvPersonList.ItemsSource = personList;
}
}
public class Person
{
public string Name { get; set; }
public int Height { get; set; }
}
Родительское окно:
<Grid x:Name="grdContent" DockPanel.Dock="Top">
<controls:MyUserControl x:Name="myUserControl" Visibility="Visible"/>
</Grid>
Я не понимаю, почему эта привязка не работает. Вместо значений (Имя и Высота) я получаю полные имена классов. Если я использую этот код в окне, он работает нормально.
Есть идеи? Я хотел бы, чтобы этот пользовательский контроль работал для себя (он получает данные из БД и представляет их в ListView) ...
Спасибо!