2013-01-08 99 views
0

我想使用caliburn.micro指挥。根据文档,导体不一定需要是Screen类型,它实际上可以是任何POCO。枢轴项与caliburn.micro

所以我创造我的课是这样的:

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').. 

我认为这是指挥,实现项目列表中的类,但卡利试图绑定MyItem。这是为什么? 我想要一个Pivot,它接收可绑定属性Items中的MyItem列表,并根据我定义的ItemTemplate显示它们。我需要一个ViewModel吗? 我已经多次阅读文档,但我仍然迷失,请你解释一下发生了什么?

+0

您是否可以包含从中进行绑定的xaml代码? – Marwijn

+0

通过校准约定进行绑定,命名该透视项目 – Berni

回答

0

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

因此,你可以在导体中使用任何POCO。