使用caliburn.micro旋转项目

时间:2013-01-08 21:58:48

标签: windows-phone-7 caliburn.micro

我正在尝试使用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吗? 我已多次阅读文档,但我仍然输了,你能解释一下我发生了什么吗?

1 个答案:

答案 0 :(得分:0)

发现问题了! 我在包含Pivot的Grid中设置了一个DataContext,覆盖了ViewModel的约定DataContext。我删除了它并且工作得很完美。

因此,您可以在指挥中使用任何POCO。