В настоящее время мы разрабатываем, как реализовать MVVM, и я дошел до того, что у меня есть MVVM Light Toolkit, настроенный в blend, и он может указывать фиктивные данные, которые будут предоставлены при работе в Blend. Все хорошо.
Я создал фиктивный список данных. Список содержит 6 экземпляров очень простого класса с именем DummyItem, который имеет свойства Age и Name.
Вот основной код из моего класса 'DummyList':
public class DummyItem{
public string Name;
public int Age;
public DummyItem(string name, int age){
this.Name = name;
this.Age = age;
}
}
public class DummyList : ArrayList
{
public DummyList()
{
this.Add(new DummyItem("Dummy1", 00));
this.Add(new DummyItem("Dummy2", 01));
this.Add(new DummyItem("Dummy3", 02));
this.Add(new DummyItem("Dummy4", 03));
this.Add(new DummyItem("Dummy5", 04));
this.Add(new DummyItem("Dummy6", 05));
}
}
Вот резолютивная часть моего XAML. Строка DataContext работает и указывает на правильный ViewModel.
<Grid x:Name="LayoutRoot">
<ListBox x:Name="ListViewBox"
DataContext="{Binding Source={StaticResource Locator}, Path=ListViewModel}"
ItemsSource="{Binding TheList}"
DisplayMemberPath="Name">
</ListBox>
</Grid>
Проблема в том, что когда я добавляю 'DisplayMemberPath', как я уже делал выше, я больше не вижу элементы списка в Blend. Если я удаляю «DisplayMemberPath», я вижу список объектов (DummyItem) с их полным путем. Когда приложение запущено, все работает отлично. Просто в самой Blend я не вижу элементы списка, когда использую 'DisplayMemberPath'.
Кто-нибудь знает, почему я не вижу элементы внутри самой Blend, когда использую DisplayMemberPath?
Спасибо!
AT