我正在尝试使用 caliburn.micro 导体。根据文档,导体不一定需要是 Screen 类型,它实际上可以是任何 POCO。
所以我像这样创建我的类:
public class StoreContentsViewModel : Conductor<MyItem>.Collection.OneActive
{
protected override void OnInitialize()
{
...
foreach (MyItem item in Collection)
{
Items.Add(item);
}
ActivateItem(Items[0]);
}
}
但我收到绑定错误
System.Windows.Data Error: BindingExpression path error: 'Items' property not
found on 'MyItem' (HashCode=107597610). BindingExpression: Path='Items'
DataItem='MyItem' HashCode=107597610); target element is
Microsoft.Phone.Controls.Pivot' (Name='Items'); target property is
ItemsSource' (type 'System.Collections.IEnumerable')..
我以为是 Conductor 类实现了 Items 列表,但 caliburn 试图绑定 MyItem。这是为什么?我想要一个 Pivot,它接收可绑定属性 Items 中的 MyItem 列表,并根据我定义的 ItemTemplate 显示它们。我需要一个 ViewModel 吗?我已经阅读了几次文档,但我仍然迷路,你能解释一下发生了什么吗?