Я пытаюсь показать содержимое Collection
с использованием Caliburn.Micro, но по некоторым причинам на экране нет выхода.Коллекция Caliburn.Micro показана пустой
Вот код:
(SearchView.xaml)
<ListBox x:Name="Items">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
(SearchViewModel.cs)
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using Caliburn.Micro;
namespace MyNS.ViewModels
{
public class SearchViewModel : Screen
{
private BindableCollection<string> _items;
public BindableCollection<string> Items
{
get { return _items; }
set
{
_items = value;
NotifyOfPropertyChange(() => Items);
}
}
private string _selectedItem;
public string SelectedItem
{
get { return _selectedItem; }
set
{
_selectedItem = value;
NotifyOfPropertyChange(() => SelectedItem);
MessageBox.Show(value);
}
}
public SearchViewModel()
{
Items = new BindableCollection<string>
{
"item1",
"item2",
"item3",
"item4"
};
DisplayName = "by genre";
}
}
}
Хотя регистратор отпечатков
[2013-12 -16T21: 52: 29.9208275 + 01: 00] SelectedItem привязка применяется к Предметы. [2013-12-16T21: 52: 29.9208275 + 01: 00] Применяемая конвенция: Элементы элемента.
Это означает, что все пошло нормально, я все еще не понимаю, почему мои ListBox
показов без данных.
Исключение не выбрасывается, все работает гладко, но данные не отображаются.
Я пытаюсь узнать 'Caliburn.Micro' только потому, что это выглядело так гладко, без необходимости ручного связывания материала, но я думаю, что это ситуация, в которой нет другого способа заставить ее работать: \ – StepTNT
@StepTNT Это здорово, если вы хотите делать очень общие вещи. Если вы хотите много настраиваемых материалов, лучше не использовать его. – gleng